/* Little Tyvy Montessori - header mega menu (Programs)
   Companion to home.css and pages.css. Everything is scoped so it cannot affect the rest of the site. */

.ty-nav__item { display: block; }
.ty-nav .ty-nav__toggle { display: inline-flex; align-items: center; gap: 6px; }
.ty-nav__chev { width: 11px; height: 11px; flex: none; transition: transform .25s ease; }
.ty-nav .ty-nav__toggle.is-open { color: var(--green); }
.ty-nav .ty-nav__toggle.is-open::after { transform: scaleX(1); }
.ty-nav .ty-nav__toggle.is-open .ty-nav__chev { transform: rotate(180deg); }
.ty-page .ty-nav a[aria-current='true'] { color: var(--green); }
.ty-page .ty-nav a[aria-current='true']::after { transform: scaleX(1); }

/* desktop panel: full width, directly under the sticky header */
.ty-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--cream); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line); box-shadow: 0 30px 50px -32px rgba(70, 60, 40, .3); animation: ty-mega-in .22s ease both; }
.ty-mega[hidden] { display: none; }
@keyframes ty-mega-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.ty-mega__inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 80px; align-items: start; padding-top: 46px; padding-bottom: 52px; }
.ty-page .ty-mega__title { margin: 0; font-family: var(--serif); font-size: 32px; line-height: 1.15; color: var(--ink); }
.ty-page .ty-mega__lead { margin: 14px 0 0; max-width: 340px; font-size: 14px; line-height: 1.7; }
.ty-page .ty-nav .ty-mega .ty-more { display: inline-flex; margin-top: 20px; padding: 5px 0; font-size: 13.5px; }
.ty-page .ty-nav .ty-mega a::after { display: none; }
.ty-page .ty-mega__list { margin: 0; padding: 0; list-style: none; }
.ty-page .ty-nav .ty-mega__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 4px; border-bottom: 1px solid var(--line-2); font-size: 16px; color: var(--ink); transition: color .2s ease, padding-left .2s ease; }
.ty-page .ty-nav .ty-mega__list li:first-child a { border-top: 1px solid var(--line-2); }
.ty-page .ty-nav .ty-mega__list a:hover,
.ty-page .ty-nav .ty-mega__list a:focus-visible { color: var(--green); padding-left: 10px; }
.ty-page .ty-nav .ty-mega__list a[aria-current='page'] { color: var(--green); }
.ty-mega__list svg { width: 16px; height: 16px; flex: none; color: var(--green); }

@media (prefers-reduced-motion: reduce) { .ty-mega { animation: none; } }

/* mobile: the panel opens inline inside the existing dropdown menu */
@media (max-width: 980px) {
  .ty-nav { max-height: calc(100vh - var(--hdr)); overflow-y: auto; }
  .ty-nav .ty-nav__toggle { display: flex; justify-content: space-between; width: 100%; }
  .ty-mega { position: static; background: transparent; border: 0; box-shadow: none; animation: none; }
  .ty-page .ty-mega__inner { display: block; max-width: none; margin: 0; padding: 0 0 4px 14px; }
  .ty-page .ty-mega__title,
  .ty-page .ty-mega__lead { display: none; }
  .ty-page .ty-nav .ty-mega .ty-more { display: flex; justify-content: space-between; width: 100%; margin: 0; padding: 13px 4px; border-bottom: 1px solid var(--line-2); font-size: 15px; color: var(--ink-2); }
  .ty-page .ty-nav .ty-mega__list a { padding: 13px 4px; font-size: 15px; color: var(--ink-2); }
  .ty-page .ty-nav .ty-mega__list li:first-child a { border-top: 0; }
  .ty-page .ty-nav .ty-mega__list a:hover { padding-left: 4px; }
}