@charset "UTF-8";
:root {
  --menu-shadow: 0 20px 40px rgba(2, 6, 23, .12);
  --menu-border: rgba(2, 6, 23, .12);
  --menu-radius: 12px;
  --menu-surface: #ffffff;
  --menu-bg: #ffffff;
  --menu-text: #0f172a;
  /* slate-900 */
  --menu-muted: #6b7280;
  /* gray-500 */
  --menu-accent: #4f46e5;
  /* indigo-600 */
  --menu-accent-light: rgba(79, 70, 229, .08);
}

.horizontal-megamenu {
  box-shadow: var(--menu-shadow);
}

/* open/close for both desktop panel and mobile full-screen */
.horizontal-megamenu.open {
  display: block !important;
}

/* Desktop panel base: hidden by default (Tailwind 'hidden'), shown via .open */
@media (min-width: 1024px) {
  .mega-menu-trigger > .horizontal-megamenu {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    /* drop right under the header/nav */
    width: min(1120px, 100vw - 2rem);
    background: var(--menu-surface);
    border: 1px solid var(--menu-border);
    border-radius: 14px;
  }
}
/* Search + Pills */
.mega-search {
  border: 1px solid var(--menu-border);
  border-radius: var(--menu-radius);
  padding: 10px 14px;
  font-size: 11px;
}

.mega-pill {
  border: 1px solid var(--menu-border);
  background: var(--menu-surface);
  color: var(--menu-muted);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.mega-pill:hover {
  border-color: var(--menu-accent);
  background: var(--menu-accent-light);
  color: var(--menu-accent);
}

/* Lists + cards look, used in desktop panel */
.menu-title {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--menu-muted);
  margin-bottom: 10px;
}

.item-box {
  background: var(--menu-bg);
  border: 1px solid var(--menu-border);
  border-radius: var(--menu-radius);
  padding: 6px 8px;
  font-size: 10px;
  color: var(--menu-text);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 36px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.item-box:hover,
.item-box.active {
  border-color: var(--menu-accent);
  background: var(--menu-accent-light);
  color: var(--menu-accent);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
}

.course-card {
  background: var(--menu-bg);
  border: 1px solid var(--menu-border);
  border-radius: 14px;
  padding: 10px;
  color: var(--menu-text);
}

.course-card:hover {
  border-color: var(--menu-accent);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12);
}

.course-title {
  font-weight: 700;
  font-size: 10px;
  margin-bottom: 6px;
}

.course-meta {
  font-size: 10px;
  color: var(--menu-muted);
  line-height: 1.4;
}

/* MOBILE full-screen panel specifics */
@media (max-width: 1023.98px) {
  .horizontal-megamenu {
    background: var(--menu-bg);
  }
  /* arrows on mobile */
  .item-box {
    border-radius: 0;
    position: relative;
    padding-right: 24px;
    min-height: 44px;
  }
  .item-box::after {
    content: "›";
    position: absolute;
    right: 8px;
    font-size: 14px;
    color: var(--menu-muted);
    transition: transform 0.25s ease, color 0.25s ease;
  }
  .item-box.open::after {
    transform: rotate(90deg);
    color: var(--menu-accent);
  }
  .mobile-sub {
    margin-left: 10px;
    margin-top: 6px;
    padding-left: 10px;
    border-left: 2px solid var(--menu-border);
  }
  .mobile-courses {
    margin-left: 20px;
    margin-top: 6px;
    padding-left: 10px;
    border-left: 1px dashed var(--menu-border);
  }
}

/*# sourceMappingURL=menu.css.map */
