.course-browser-page .public-auth-content {
  max-width: none;
  padding: 0 0 3rem;
}
.course-browser-page .public-auth-content .courses-market {
  padding: 1.5rem clamp(1rem,2.4vw,2.4rem) 0;
}

.courses-page {
  --courses-primary: #0f766e;
  --courses-primary-strong: #0b5f59;
  --courses-accent: #14b8a6;
  --courses-ink: #102a43;
  --courses-muted: #64748b;
  --courses-line: #dce7eb;
  --courses-surface: #ffffff;
  --courses-soft: #f4f8f8;
  --courses-shadow: 0 14px 42px rgba(15, 42, 67, .075);
}
.courses-page .catalog-app__content { background: radial-gradient(circle at 86% 0, rgba(20,184,166,.10), transparent 28rem), linear-gradient(180deg,#f8fbfb 0,#eef5f5 100%); padding: 1.5rem clamp(1rem,2.4vw,2.4rem) 3rem; }
.courses-market { color: var(--courses-ink); margin: 0 auto; max-width: 1600px; }
.courses-eyebrow { color: var(--courses-primary); display: block; font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.courses-hero { align-items: center; background: linear-gradient(120deg,#0b5550 0,#0e7f75 57%,#18aa9e 100%); border-radius: 26px; box-shadow: 0 20px 52px rgba(8,83,77,.20); color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.7rem,3vw,2.7rem); position: relative; }
.courses-hero::before,.courses-hero::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content:""; position:absolute; }
.courses-hero::before { height: 290px; right: -70px; top: -160px; width: 290px; }
.courses-hero::after { bottom: -165px; height: 260px; left: 42%; width: 260px; }
.courses-hero__copy,.courses-hero__summary { position: relative; z-index: 1; }
.courses-hero .courses-eyebrow { color: #a9fff3; }
.courses-hero h1 { font-size: clamp(1.7rem,3.1vw,2.75rem); letter-spacing: -.045em; line-height: 1.08; margin: .55rem 0 .75rem; max-width: 760px; }
.courses-hero p { color: rgba(255,255,255,.78); line-height: 1.7; margin: 0; max-width: 650px; }
.courses-hero__summary { backdrop-filter: blur(12px); background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.17); border-radius: 19px; display: grid; flex: 0 0 min(410px,40%); grid-template-columns: repeat(3,1fr); padding: 1.15rem; }
.courses-hero__summary div { display:grid; gap:.25rem; padding:.25rem 1rem; text-align:center; }
.courses-hero__summary div+div { border-left: 1px solid rgba(255,255,255,.18); }
.courses-hero__summary strong { font-size:1.35rem; }
.courses-hero__summary span { color:rgba(255,255,255,.7); font-size:.68rem; line-height:1.4; }
.courses-toolbar { align-items: center; background: var(--courses-surface); border: 1px solid var(--courses-line); border-radius: 20px; box-shadow: var(--courses-shadow); display: grid; gap: .8rem; grid-template-columns: minmax(300px,1fr) auto auto; margin-top: 1.25rem; padding: .72rem; }
.courses-toolbar__search { align-items:center; background:var(--courses-soft); border:1px solid transparent; border-radius:14px; display:flex; min-width:0; padding-left:.9rem; transition:border-color .2s,box-shadow .2s,background .2s; }
.courses-toolbar__search:focus-within { background:#fff; border-color:rgba(15,118,110,.4); box-shadow:0 0 0 4px rgba(20,184,166,.1); }
.courses-toolbar__search svg,.courses-filter-trigger svg { fill:none; flex:0 0 auto; height:19px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:19px; }
.courses-toolbar__search svg { color:#78909c; }
.courses-toolbar__search input { background:transparent; border:0; color:var(--courses-ink); font:inherit; font-size:.82rem; min-width:0; outline:0; padding:.75rem .7rem; width:100%; }
.courses-toolbar__search button,.courses-filters__actions button { background:var(--courses-primary); border:0; border-radius:10px; color:#fff; cursor:pointer; font:inherit; font-size:.72rem; font-weight:800; min-height:39px; padding:.55rem 1rem; transition:background .22s,transform .22s; }
.courses-toolbar__search button:hover,.courses-filters__actions button:hover { background:var(--courses-primary-strong); transform:translateY(-1px); }
.courses-filter-trigger { align-items:center; background:#fff; border:1px solid var(--courses-line); border-radius:12px; color:var(--courses-ink); cursor:pointer; display:none; font:inherit; font-size:.75rem; font-weight:800; gap:.5rem; min-height:43px; padding:.65rem .9rem; }
.courses-toolbar__sort { align-items:center; display:flex; gap:.55rem; }
.courses-toolbar__sort label { color:var(--courses-muted); font-size:.68rem; font-weight:700; white-space:nowrap; }
.courses-toolbar__sort select { background:#fff; border:1px solid var(--courses-line); border-radius:12px; color:var(--courses-ink); font:inherit; font-size:.75rem; font-weight:700; min-height:43px; outline:0; padding:.6rem 2rem .6rem .8rem; }
.courses-categories { display:flex; gap:.55rem; margin:1rem 0 1.35rem; overflow:auto; padding:.15rem .05rem .4rem; scrollbar-width:none; }
.courses-categories::-webkit-scrollbar { display:none; }
.courses-category-chip { background:rgba(255,255,255,.74); border:1px solid var(--courses-line); border-radius:999px; color:#52677b; flex:0 0 auto; font-size:.72rem; font-weight:750; padding:.55rem .9rem; transition:all .22s; }
.courses-category-chip:hover { border-color:rgba(15,118,110,.35); color:var(--courses-primary); transform:translateY(-1px); }
.courses-category-chip.is-active { background:var(--courses-primary); border-color:var(--courses-primary); box-shadow:0 8px 18px rgba(15,118,110,.18); color:#fff; }
.courses-programs { background:rgba(255,255,255,.75); border:1px solid var(--courses-line); border-radius:22px; margin-bottom:1.3rem; padding:1.2rem; }
.courses-programs>header,.courses-results__head { align-items:end; display:flex; justify-content:space-between; margin-bottom:1rem; }
.courses-programs h2,.courses-results__head h2 { font-size:1.25rem; margin:.25rem 0 0; }
.courses-programs>header>a { color:var(--courses-primary); font-size:.74rem; font-weight:800; }
.courses-programs__grid { display:grid; gap:.8rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.courses-program-card { background:linear-gradient(145deg,#fff,#f3faf8); border:1px solid #dbeae6; border-radius:17px; padding:1rem; }
.courses-program-card>span { color:var(--courses-primary); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.courses-program-card h3 { font-size:.9rem; margin:.45rem 0; }
.courses-program-card h3 a { color:var(--courses-ink); }
.courses-program-card p { color:var(--courses-muted); font-size:.72rem; line-height:1.55; margin:0; }
.courses-program-card footer { align-items:center; display:flex; justify-content:space-between; margin-top:.8rem; }
.courses-program-card footer strong { color:var(--courses-primary); font-size:.8rem; }
.courses-program-card footer small { color:var(--courses-muted); font-size:.65rem; }
.courses-layout { align-items:start; display:grid; gap:1.2rem; grid-template-columns:245px minmax(0,1fr); position:relative; }
.courses-filters { background:var(--courses-surface); border:1px solid var(--courses-line); border-radius:20px; box-shadow:var(--courses-shadow); padding:1.1rem; position:sticky; top:92px; }
.courses-filters__head { align-items:start; display:flex; justify-content:space-between; }
.courses-filters__head h2 { font-size:1.15rem; margin:.25rem 0 0; }
.courses-filters__head>button { background:transparent; border:0; color:var(--courses-muted); cursor:pointer; display:none; font-size:1.5rem; }
.courses-filters__form { display:grid; gap:0; }
.courses-filters fieldset { border:0; border-top:1px solid #e7eef0; display:grid; gap:.62rem; margin:1rem 0 0; padding:1rem 0 0; }
.courses-filters legend { color:var(--courses-ink); font-size:.78rem; font-weight:800; margin-bottom:.7rem; padding:0; }
.courses-filters label { align-items:center; color:#587084; cursor:pointer; display:flex; font-size:.72rem; gap:.55rem; }
.courses-filters input { accent-color:var(--courses-primary); height:15px; width:15px; }
.courses-filters__actions { display:grid; gap:.55rem; grid-template-columns:1fr auto; margin-top:1.15rem; }
.courses-filters__actions a { align-items:center; color:var(--courses-primary); display:flex; font-size:.7rem; font-weight:800; padding:0 .45rem; }
.courses-filter-backdrop { display:none; }
.courses-results { min-width:0; }
.courses-results__head { margin:.1rem 0 1rem; }
.courses-results__query { background:#e8f7f4; border-radius:999px; color:var(--courses-primary); font-size:.7rem; font-weight:750; padding:.45rem .75rem; }
.courses-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.course-product { background:var(--courses-surface); border:1px solid rgba(16,42,67,.09); border-radius:22px; box-shadow:0 10px 30px rgba(16,42,67,.055); display:flex; flex-direction:column; min-width:0; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.course-product:hover { border-color:rgba(15,118,110,.22); box-shadow:0 20px 45px rgba(16,42,67,.12); transform:translateY(-6px); }
.course-product__media { background:#dbe8e7; display:block; height:220px; overflow:hidden; position:relative; }
.course-product__media>img { height:100%; object-fit:cover; transition:transform .45s ease; width:100%; }
.course-product:hover .course-product__media>img { transform:scale(1.035); }
.course-product__placeholder { align-items:center; background:linear-gradient(135deg,#0d4945,#148f84); color:#fff; display:flex; flex-direction:column; height:100%; justify-content:center; width:100%; }
.course-product__placeholder::before { border:1px solid rgba(255,255,255,.15); border-radius:50%; content:""; height:180px; position:absolute; right:-70px; top:-70px; width:180px; }
.course-product__placeholder--sales { background:linear-gradient(135deg,#183f56,#0f766e); }
.course-product__placeholder--tech { background:linear-gradient(135deg,#1c3155,#324c81); }
.course-product__placeholder strong { font-size:3.2rem; letter-spacing:-.06em; }
.course-product__placeholder small { font-size:.58rem; font-weight:800; letter-spacing:.18em; opacity:.65; }
.course-product__overlay { background:linear-gradient(180deg,rgba(6,25,30,.08),rgba(6,25,30,.25)); inset:0; position:absolute; }
.course-product__badge { backdrop-filter:blur(9px); background:rgba(238,255,251,.92); border:1px solid rgba(255,255,255,.6); border-radius:999px; color:var(--courses-primary); font-size:.64rem; font-weight:800; left:.8rem; padding:.42rem .67rem; position:absolute; top:.8rem; }
.course-product__badge.is-offer { background:rgba(255,247,230,.94); color:#9a6211; }
.course-product__badge.is-popular { background:rgba(236,250,248,.94); }
.course-product__favorite { align-items:center; backdrop-filter:blur(10px); background:rgba(10,31,42,.22); border:1px solid rgba(255,255,255,.42); border-radius:50%; color:#fff; display:flex; height:34px; justify-content:center; position:absolute; right:.8rem; top:.8rem; transition:background .22s,transform .22s; width:34px; }
.course-product__favorite:hover { background:rgba(15,118,110,.75); transform:scale(1.08); }
.course-product__favorite svg,.course-button svg,.course-product__facts svg { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.course-product__favorite svg { height:16px; width:16px; }
.course-product__body { display:flex; flex:1; flex-direction:column; padding:1.15rem; }
.course-product__category { color:var(--courses-primary); font-size:.65rem; font-weight:800; letter-spacing:.09em; margin-bottom:.5rem; text-transform:uppercase; }
.course-product h3 { display:-webkit-box; font-size:1rem; letter-spacing:-.02em; line-height:1.35; margin:0; min-height:2.7em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.course-product h3 a { color:var(--courses-ink); }
.course-product__description { color:var(--courses-muted); display:-webkit-box; font-size:.73rem; line-height:1.6; margin:.65rem 0 .9rem; min-height:3.5em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.course-product__instructor { align-items:center; border-top:1px solid #edf2f3; display:flex; gap:.7rem; padding-top:.85rem; }
.course-product__avatar { align-items:center; background:linear-gradient(135deg,#dff5f1,#e8efff); border:2px solid #fff; border-radius:50%; color:var(--courses-primary); display:flex; flex:0 0 39px; font-size:.75rem; font-weight:800; height:39px; justify-content:center; overflow:hidden; width:39px; }
.course-product__avatar img { height:100%; object-fit:cover; width:100%; }
.course-product__instructor>div { display:grid; min-width:0; }
.course-product__instructor strong { color:#213b51; font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.course-product__instructor span { color:#778a9c; font-size:.62rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.course-product__facts { border-bottom:1px solid #edf2f3; border-top:1px solid #edf2f3; display:grid; gap:.4rem; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:.85rem 0 0; padding:.75rem 0; }
.course-product__facts li { align-items:center; color:#5e7487; display:flex; font-size:.6rem; gap:.35rem; min-width:0; }
.course-product__facts li+li { border-left:1px solid #edf2f3; padding-left:.45rem; }
.course-product__facts svg { color:var(--courses-primary); flex:0 0 auto; height:14px; width:14px; }
.course-product__facts span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.course-product__commerce { align-items:center; display:flex; gap:.7rem; justify-content:space-between; margin-top:auto; padding:1rem 0 .8rem; }
.course-product__rating { color:#40576b; font-size:.66rem; font-weight:750; }
.course-product__rating>span { color:#f1b41b; font-size:.8rem; }
.course-product__rating small { color:#8a9aaa; }
.course-product__price { align-items:flex-end; display:flex; flex-direction:column; }
.course-product__price small { color:#8a9aaa; font-size:.58rem; text-decoration:line-through; }
.course-product__price strong { color:var(--courses-primary); font-size:.92rem; }
.course-product__actions { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.course-product__actions form { display:flex; min-width:0; }
.course-button { align-items:center; border:1px solid transparent; border-radius:12px; cursor:pointer; display:flex; flex:1; font:inherit; font-size:.66rem; font-weight:800; gap:.4rem; justify-content:center; min-height:43px; padding:.62rem .5rem; text-align:center; transition:background .22s,border-color .22s,box-shadow .22s,transform .22s; }
.course-button svg { height:16px; width:16px; }
.course-button--secondary { background:#f3f7f7; border-color:#d8e4e6; color:#26475a; }
.course-button--secondary:hover { background:#fff; border-color:rgba(15,118,110,.45); color:var(--courses-primary); }
.course-button--primary { background:linear-gradient(135deg,var(--courses-primary-strong),var(--courses-primary)); box-shadow:0 8px 18px rgba(15,118,110,.16); color:#fff; }
.course-button--primary:hover { box-shadow:0 12px 24px rgba(15,118,110,.24); color:#fff; transform:translateY(-1px); }
.courses-empty { align-items:center; background:#fff; border:1px dashed #bfd2d2; border-radius:22px; display:flex; flex-direction:column; grid-column:1/-1; padding:3rem; text-align:center; }
.courses-empty>span { align-items:center; background:var(--courses-primary); border-radius:16px; color:#fff; display:flex; font-weight:800; height:52px; justify-content:center; width:52px; }
.courses-empty h3 { margin:1rem 0 .35rem; }
.courses-empty p { color:var(--courses-muted); margin:0 0 1rem; }
.courses-empty a,.courses-load-more { color:var(--courses-primary); font-size:.75rem; font-weight:800; }
.courses-load-more { background:#fff; border:1px solid var(--courses-line); border-radius:13px; display:block; margin:1.2rem auto 0; max-width:220px; padding:.8rem 1rem; text-align:center; }
@media (min-width:1700px) { .courses-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:1180px) { .courses-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .courses-hero__summary { flex-basis:360px; } }
@media (max-width:900px) {
  .courses-page .catalog-app__content { padding:1rem; }
  .courses-hero { align-items:stretch; flex-direction:column; }
  .courses-hero__summary { flex-basis:auto; width:100%; }
  .courses-toolbar { grid-template-columns:1fr auto; }
  .courses-toolbar__sort { grid-column:1/-1; justify-content:flex-end; }
  .courses-filter-trigger { display:flex; }
  .courses-layout { grid-template-columns:1fr; }
  .courses-filters { bottom:0; border-radius:24px 24px 0 0; left:0; max-height:86vh; overflow:auto; padding:1.3rem; position:fixed; right:0; top:auto; transform:translateY(105%); transition:transform .28s ease; z-index:1001; }
  .courses-filters.is-open { transform:translateY(0); }
  .courses-filters__head>button { display:block; }
  .courses-filter-backdrop { background:rgba(10,31,42,.52); border:0; inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .25s; z-index:1000; }
  .courses-filter-backdrop.is-open { display:block; opacity:1; pointer-events:auto; }
  .courses-programs__grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .courses-hero { border-radius:20px; }
  .courses-hero__summary { grid-template-columns:1fr; }
  .courses-hero__summary div { align-items:center; grid-template-columns:auto 1fr; text-align:left; }
  .courses-hero__summary div+div { border-left:0; border-top:1px solid rgba(255,255,255,.16); padding-top:.65rem; }
  .courses-toolbar { grid-template-columns:1fr; }
  .courses-toolbar__search { grid-column:1/-1; }
  .courses-filter-trigger { justify-content:center; }
  .courses-toolbar__sort { grid-column:auto; justify-content:stretch; }
  .courses-toolbar__sort select { flex:1; }
  .courses-grid { grid-template-columns:1fr; }
  .course-product__media { height:210px; }
  .courses-results__head { align-items:start; flex-direction:column; gap:.6rem; }
}
.dashboard-dark.courses-page .catalog-app__content { background:radial-gradient(circle at 85% 0,rgba(20,184,166,.08),transparent 28rem),#0c1620; }
.dashboard-dark.courses-page { --courses-surface:#14212d; --courses-soft:#0f1b26; --courses-ink:#e9f2f6; --courses-muted:#91a6b8; --courses-line:#293b48; }
.dashboard-dark .courses-toolbar,.dashboard-dark .courses-filters,.dashboard-dark .course-product,.dashboard-dark .courses-programs { background:var(--courses-surface); }
.dashboard-dark .courses-toolbar__search:focus-within,.dashboard-dark .courses-toolbar__sort select { background:#101d28; color:#e9f2f6; }
.dashboard-dark .courses-category-chip { background:#14212d; color:#a7bac7; }
.dashboard-dark .courses-program-card { background:linear-gradient(145deg,#172734,#11212b); border-color:#2a414b; }
.dashboard-dark .course-product h3 a,.dashboard-dark .course-product__instructor strong,.dashboard-dark .courses-program-card h3 a { color:#edf5f7; }
.dashboard-dark .course-product__instructor,.dashboard-dark .course-product__facts { border-color:#293944; }
.dashboard-dark .course-product__facts li+li { border-color:#293944; }
.dashboard-dark .course-button--secondary { background:#1a2a36; border-color:#304552; color:#d5e3e8; }