/* ── Mega Nav Panel ──────────────────────────── */

/* Panel container — positioned from the <li> so hover stays connected.
   Uses fixed positioning trick to span the viewport width. */
.mega-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    max-width: 1822px;
    z-index: 100;
    padding-top: 14px;
}

.menu-item-has-mega:hover > .mega-panel,
.menu-item-has-mega.is-open > .mega-panel {
    display: flex;
}

/* Inner wrapper — carries the rounded corners and visual top spacing */
.mega-panel__inner {
    display: flex;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    margin-top: 0;
}

/* Layout: content area + promo box */
.mega-panel__content {
    display: flex;
    flex: 1;
    min-width: 0;
    background: #d6d6d6;
    padding: 30px 60px 30px 80px;
    gap: 0;
}

.mega-panel__promo {
    flex: 0 0 33%;
    max-width: 606px;
    background: #191919;
    padding: 52px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ── Promo Box ──────────────────────────────── */

.mega-panel__promo-title {
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
    font-size: 34px;
    line-height: 37px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 20px;
}

.mega-panel__promo-title span {
    color: #d5fb7b;
}

.mega-panel__promo-desc {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    color: #fff;
    margin: 0 0 24px;
    max-width: 324px;
}

.mega-panel__promo-cta.cew-btn {
    align-self: flex-start;
}

/* ── Shared column + link styles ────────────── */

.mega-panel__col {
    min-width: 0;
}

.mega-panel__col a {
    font-family: 'Archivo', sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 1;
    color: #191919;
    text-decoration: none;
    display: block;
}

.mega-panel__col a:hover {
    color: #444;
}

.mega-panel__col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mega-panel__col li {
    margin: 0 0 16px;
}

.mega-panel__col li:last-child {
    margin-bottom: 0;
}

/* ── Taxonomy panel (Courses) ───────────────── */

.mega-panel--taxonomy .mega-panel__content {
    gap: 0;
}

.mega-panel--taxonomy .mega-panel__col--terms {
    flex: 0 0 auto;
    min-width: 300px;
    padding-right: 40px;
    border-right: 1px solid #bbb;
}

.mega-panel--taxonomy .mega-panel__col--courses {
    flex: 1;
    padding-left: 40px;
}

/* Term list items */
.mega-panel__term-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-radius: 16px;
    cursor: pointer;
    transition: background 0.15s;
}

.mega-panel__term-list li a {
    text-transform: uppercase;
}

.mega-panel__term-list li .mega-panel__arrow {
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 0.15s;
}

.mega-panel__term-list li.is-active {
    background: #d5fb7b;
}

.mega-panel__term-list li.is-active .mega-panel__arrow {
    opacity: 1;
}

/* Course lists — only show the active one */
.mega-panel__course-list {
    display: none;
}

.mega-panel__course-list.is-active {
    display: block;
}

/* ── Columns panel (Career Pathways) ────────── */

.mega-panel--columns .mega-panel__content {
    gap: 40px;
}

.mega-panel--columns .mega-panel__col {
    flex: 1;
    min-width: 0;
}

.mega-panel__col-heading {
    margin: 0 0 16px;
}

.mega-panel__col-heading a {
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
    font-size: 17px;
    text-transform: uppercase;
    color: #191919;
    text-decoration: none;
}

.mega-panel__col-heading a::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath d='M4 2l6 6-6 6' stroke='%23d5fb7b' stroke-width='2'/%3E%3C/svg%3E") no-repeat center;
    vertical-align: middle;
}

.mega-panel__col-links a {
    font-weight: 400;
    font-size: 16px;
}

/* ── Children panel (Resources) ─────────────── */

.mega-panel--children .mega-panel__content {
    gap: 0;
}

.mega-panel--children .mega-panel__col--parents {
    flex: 0 0 auto;
    min-width: 260px;
    padding-right: 40px;
    border-right: 1px solid #bbb;
}

.mega-panel--children .mega-panel__col--grandchildren {
    flex: 1;
    padding-left: 40px;
}

/* Parent items */
.mega-panel__parent-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-radius: 16px;
    transition: background 0.15s;
}

.mega-panel__parent-list li a {
    text-transform: uppercase;
}

.mega-panel__parent-list li .mega-panel__arrow {
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 0.15s;
}

.mega-panel__parent-list li.is-active {
    background: #d5fb7b;
}

.mega-panel__parent-list li.is-active .mega-panel__arrow {
    opacity: 1;
}

/* Grandchild lists — only show active */
.mega-panel__child-list {
    display: none;
}

.mega-panel__child-list.is-active {
    display: block;
}

/* ── Desktop nav positioning context ────────── */

.site-header__nav {
    position: static;
}

.site-header__nav-menu {
    position: static;
}

.site-header__nav-menu > .menu-item-has-mega {
    position: relative;
}

.site-header__primary {
    position: relative;
}
