.courses-shell{--courses-menu-shadow:0 20px 48px rgba(16,65,59,.16)}
.courses-shell .site-page-content{padding-top:72px}
.courses-site-header{z-index:60}
.courses-desktop-nav{gap:.2rem}
.course-nav-item{position:relative;display:flex;align-items:center}
.course-nav-link{position:relative;display:inline-flex!important;align-items:center;gap:.45rem;padding:7px 13px;border:0;background:transparent;color:#587075;font:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;transition:color .2s ease}
.course-nav-link:hover,.course-nav-link.is-active{color:var(--teal-deep)}
.course-nav-link.is-active::after{content:"";position:absolute;right:13px;bottom:0;left:13px;height:2px;border-radius:99px;background:var(--teal)}
.course-nav-link i{font-size:.62rem;transition:transform .2s ease}
.course-nav-item:hover .course-nav-link i,.course-nav-item:focus-within .course-nav-link i{transform:rotate(180deg)}
.course-mega-menu{position:absolute;z-index:100;top:100%;right:50%;display:grid;grid-template-columns:180px minmax(0,1fr);width:min(650px,calc(100vw - 2rem));padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.98);box-shadow:var(--courses-menu-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(50%,0);transition:opacity .18s ease,visibility .18s ease}
.course-mega-menu::before{content:"";position:absolute;top:-.45rem;right:50%;width:.8rem;height:.8rem;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff;transform:translateX(50%) rotate(-45deg)}
.course-nav-item:hover .course-mega-menu,.course-nav-item:focus-within .course-mega-menu,.course-mega-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.course-mega-menu__intro{display:grid;align-content:center;gap:.45rem;padding:1rem;border-radius:.75rem;background:#eff9f5}
.course-mega-menu__intro span{color:var(--teal-deep);font-size:.72rem;font-weight:900}
.course-mega-menu__intro span i{margin-inline-end:.35rem}
.course-mega-menu__intro strong{color:var(--ink);font-size:.88rem;line-height:1.7}
.course-mega-menu__intro small{color:var(--muted);font-size:.68rem;line-height:1.8}
.course-mega-menu__all{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.25rem;padding-top:.6rem;border-top:1px solid rgba(8,127,118,.16);color:var(--teal-deep);font-size:.7rem;font-weight:900;text-decoration:none}
.course-mega-menu__all i{font-size:.62rem}
.course-mega-menu__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding-inline-start:.85rem}
.course-mega-menu__group{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;padding:.65rem;border:1px solid transparent;border-radius:.65rem;color:var(--ink-2);text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.course-mega-menu__group:hover{border-color:#b9ddd1;background:#f2faf7;transform:translateX(-2px)}
.course-mega-menu__group-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:.55rem;background:#dff4eb;color:var(--teal);font-size:.65rem}
.course-mega-menu__group>span:nth-child(2){display:grid;min-width:0;gap:.15rem}
.course-mega-menu__group strong{overflow:hidden;color:var(--ink);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.course-mega-menu__group small{overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.course-mega-menu__group em{color:var(--teal-deep);font-size:.62rem;font-style:normal;white-space:nowrap}
.course-mega-menu__empty{grid-column:1/-1;padding:1rem;color:var(--muted);font-size:.75rem;text-align:center}
.course-nav-home{display:inline-flex!important;align-items:center;gap:.4rem;color:var(--teal-deep)!important;font-weight:800!important}
.course-nav-home i{font-size:.7rem}
.courses-mobile-menu .is-active{color:var(--teal-deep)!important;background:#eff9f5}
.courses-mobile-menu a i{margin-inline-end:.35rem}
.course-list-shell{min-height:70vh;background:var(--bg-surface-alt);color:var(--text-body)}
.course-list-intro{padding:2.2rem 0 1.8rem;border-bottom:1px solid var(--border-color);background:var(--bg-surface)}
.course-list-breadcrumb{display:flex;align-items:center;gap:.55rem;margin-bottom:1.2rem;color:var(--text-muted);font-size:.78rem}
.course-list-breadcrumb a{color:var(--primary-teal);text-decoration:none}
.course-list-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}
.course-list-heading h1{margin:.35rem 0 .3rem;color:var(--text-heading);font-size:clamp(1.8rem,4vw,2.8rem)}
.course-list-heading p{margin:0;color:var(--text-muted);font-size:.9rem}
.course-list-heading>div:first-child>span{color:var(--primary-teal);font-size:.76rem;font-weight:900}
.course-list-filter{display:flex;align-items:center;gap:.45rem;min-width:min(100%,330px);padding:.35rem;border:1px solid var(--border-color);border-radius:.8rem;background:var(--bg-surface-alt)}
.course-list-filter input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-body);font:inherit;font-size:.78rem}
.course-list-filter button{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:.6rem;background:var(--primary-teal);color:#fff;cursor:pointer}
.course-list-content{padding:2rem 0 5rem}
.course-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.course-list-card{overflow:hidden;border:1px solid var(--border-color);border-radius:1rem;background:var(--bg-surface);box-shadow:var(--card-shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.course-list-card:hover{border-color:#a9d8ca;box-shadow:0 1rem 2.1rem rgba(16,65,59,.1);transform:translateY(-3px)}
.course-list-card__cover{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-surface-alt)}
.course-list-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.course-list-card:hover .course-list-card__cover img{transform:scale(1.035)}
.course-list-card__body{display:grid;gap:.7rem;padding:1rem}
.course-list-card__meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--primary-teal);font-size:.7rem;font-weight:800}
.course-list-card h2{margin:0;color:var(--text-heading);font-size:1rem;line-height:1.7}
.course-list-card h2 a{color:inherit;text-decoration:none}
.course-list-card p{display:-webkit-box;min-height:3.3rem;overflow:hidden;margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.9;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.course-list-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.72rem}
.course-list-card__footer a{color:var(--primary-teal);font-weight:900;text-decoration:none;white-space:nowrap}
.course-list-pagination{display:flex;justify-content:center;gap:.35rem;margin-top:2rem}
.course-list-pagination a{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--border-color);border-radius:.6rem;background:var(--bg-surface);color:var(--text-body);font-size:.75rem;text-decoration:none}
.course-list-pagination a.is-current{border-color:var(--primary-teal);background:var(--primary-teal);color:#fff}
.course-list-empty{grid-column:1/-1;padding:4rem 1rem;border:1px dashed var(--border-color);border-radius:1rem;color:var(--text-muted);text-align:center}
body.is-dimmed .course-mega-menu{background:rgba(19,40,46,.98);border-color:#29464d}
body.is-dimmed .course-mega-menu::before{border-color:#29464d;background:#13282e}
body.is-dimmed .course-mega-menu__intro{background:#173a37}
body.is-dimmed .course-mega-menu__intro strong,body.is-dimmed .course-mega-menu__group strong{color:#e7f2ef}
body.is-dimmed .course-mega-menu__group:hover{border-color:#3d746c;background:#1a3a37}
body.is-dimmed .course-mega-menu__group-icon{background:#20504a;color:#8ee8bd}
body.is-dimmed .course-list-heading h1,body.is-dimmed .course-list-card h2{color:#f1f5f9}
body.is-dimmed .course-list-filter{background:#172033;border-color:#334155}
body.is-dimmed .course-list-card,body.is-dimmed .course-list-pagination a{background:#1e293b;border-color:#334155}
body.is-dimmed .course-list-card:hover{border-color:#4fd1c5}
body.is-dimmed .courses-mobile-menu a.is-active{background:#173a37}
@media(max-width:900px){.course-mega-menu{grid-template-columns:1fr;right:0;width:min(560px,calc(100vw - 2rem))}.course-mega-menu::before{right:1.8rem;transform:rotate(-45deg)}.course-mega-menu__groups{padding:1rem 0 0}.course-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.courses-shell .site-page-content{padding-top:64px}.courses-desktop-nav{display:none}.course-list-heading{align-items:stretch;flex-direction:column}.course-list-filter{width:100%}}
@media(max-width:560px){.course-list-grid{grid-template-columns:1fr}.course-list-intro{padding-top:1.5rem}.course-mega-menu__groups{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.course-mega-menu,.course-mega-menu__group,.course-list-card,.course-list-card__cover img{transition:none}.course-list-card:hover,.course-mega-menu__group:hover{transform:none}}

/* Course details should begin directly below the course navigation. The page shell
   already keeps the sticky header in normal document flow, so a second offset
   creates a visibly empty band before the breadcrumb. */
body.course-detail-shell .site-page-content{padding-top:0}
body.course-detail-shell .course-detail--showcase{padding-top:1.5rem;padding-bottom:4rem}
