/* ---------- Notes mega menu (partials/mega-menu.php + assets/js/menu.js) ----------
   Self-contained: the panel is attached to <body> by the script and positioned with fixed
   coordinates, and it carries fallback colours, so it does not depend on the page's own header CSS. */
.mega-caret{font-size:10px;margin-left:3px;opacity:.7;}
.mega-trigger[aria-expanded="true"]{border-bottom-color:var(--ink,#0F2A47);}

.mega,.mega *{box-sizing:border-box;}
.mega{
  --mg-bg:var(--paper-card,#FBFDFE);
  --mg-paper:var(--paper,#EFF4F8);
  --mg-ink:var(--ink,#0F2A47);
  --mg-soft:var(--ink-soft,#264A69);
  --mg-faint:var(--ink-faint,#5D7C94);
  --mg-rule:var(--rule,#D2DEE7);
  --mg-rule2:var(--rule-strong,#B7C6D4);
  --mg-gold:var(--gold-fill,#B8903A);
  display:none;position:fixed;top:0;left:0;width:1060px;max-width:calc(100vw - 24px);
  background:var(--mg-bg);color:var(--mg-ink);border:1px solid var(--mg-rule2);border-radius:0 0 8px 8px;
  box-shadow:0 22px 48px rgba(10,30,60,.22);z-index:3000;font-size:14px;line-height:1.4;text-align:left;
}
.mega.is-open{display:block;}
.mega a{text-decoration:none;}

.mega-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px 12px;border-bottom:1px solid var(--mg-rule);}
.mega-title strong{font-family:inherit;font-size:19px;font-weight:700;color:var(--mg-ink);}
.mega-count{margin-left:8px;font-size:12px;font-weight:600;background:#DBEAF5;color:#0F2A47;border-radius:20px;padding:2px 10px;}
.mega-search{flex:1;max-width:520px;padding:9px 12px;border:1px solid var(--mg-rule2);border-radius:4px;
  background:var(--mg-paper);color:var(--mg-ink);font-family:inherit;font-size:14px;}
.mega-search:focus{outline:none;border-color:var(--mg-gold);}

.mega-grid{position:relative;display:flex;height:360px;}
.mega-cats{list-style:none;margin:0;padding:8px 0;width:270px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--mg-rule);}
.mega-cats li{margin:0;padding:0;list-style:none;}
.mega-cat-link{display:flex;align-items:center;gap:12px;padding:9px 18px;font-size:14px;font-weight:500;color:var(--mg-ink);}
.mega-cat.is-active > .mega-cat-link,.mega-cat-link:hover{background:var(--mg-paper);}
.mega-badge{width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.mega-cat-name{min-width:0;}
.mega-chev{margin-left:auto;color:var(--mg-faint);font-size:16px;}

.mega-pane,.mega-results{position:absolute;top:0;bottom:0;left:270px;right:290px;padding:16px 22px;overflow-y:auto;}
.mega-pane{display:none;}
.mega-cat.is-active > .mega-pane{display:block;}
.mega--no-extra .mega-pane,.mega--no-extra .mega-results{right:0;}
.mega-results[hidden]{display:none;}
.mega.is-searching .mega-pane{display:none !important;}

.mega-pane-head{margin:0;}
.mega-pane-head a{font-weight:600;font-size:14.5px;color:var(--mg-ink);}
.mega-pane-head a:hover{text-decoration:underline;}
.mega-subs{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;}
.mega-subs li{margin:0;padding:0;list-style:none;}
.mega-subs a{display:block;padding:8px 10px;border-radius:4px;font-size:14px;color:var(--mg-ink);}
.mega-subs a:hover{background:var(--mg-paper);}
.mega-empty{margin:14px 0 0;font-size:13.5px;color:var(--mg-faint);}

.mega-result-list{list-style:none;margin:0;padding:0;}
.mega-result-list li{margin:0;padding:0;list-style:none;}
.mega-result-list a{display:block;padding:8px 10px;border-radius:4px;font-size:14px;color:var(--mg-ink);}
.mega-result-list a:hover{background:var(--mg-paper);}
.mega-no-result{margin:0;font-size:14px;color:var(--mg-faint);line-height:1.6;}

.mega-extra{width:290px;flex-shrink:0;margin-left:auto;border-left:1px solid var(--mg-rule);padding:16px;overflow-y:auto;}
.mega-extra h4{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mg-soft);}
.mega-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.mega-chips a{border:1px solid var(--mg-rule2);border-radius:20px;padding:4px 12px;font-size:12.5px;color:var(--mg-ink);}
.mega-chips a:hover{border-color:var(--mg-ink);}
.mega-promo{background:var(--mg-ink);color:var(--mg-bg);border-radius:8px;padding:16px;}
.mega-promo .kicker{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--mg-gold);}
.mega-promo h5{margin:6px 0;font-family:inherit;font-size:17px;font-weight:700;line-height:1.3;color:inherit;}
.mega-promo p{margin:0 0 12px;font-size:13px;line-height:1.55;opacity:.9;color:inherit;}
.mega-promo a{display:block;text-align:center;background:var(--mg-bg);color:var(--mg-ink);border-radius:4px;padding:9px;font-size:13.5px;font-weight:600;}

.mega-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--mg-rule);font-size:13px;color:var(--mg-faint);}
.mega-foot a{font-weight:600;color:var(--mg-ink);}
.mega-foot a:hover{text-decoration:underline;}

@media (max-height:720px){ .mega-grid{height:300px;} }

/* phones and small tablets: the panel becomes a scrollable sheet and exams open like an accordion */
@media (max-width:860px){
  .topbar{flex-wrap:wrap;gap:10px 16px;padding-left:16px;padding-right:16px;}   /* the site's .topbar rule removes the side padding */
  .main-nav{display:flex;order:3;width:100%;overflow-x:auto;gap:20px;white-space:nowrap;padding-bottom:2px;}   /* the site stylesheet hides plain <nav> on phones; this keeps the menu visible */
  .mega{overflow-y:auto;border-radius:8px;max-width:none;}
  .mega-top{flex-direction:column;align-items:stretch;gap:10px;}
  .mega-search{max-width:none;}
  .mega-grid{display:block;height:auto;}
  .mega-cats{width:auto;border-right:0;overflow:visible;}
  .mega-pane{position:static;padding:2px 18px 12px 60px;}
  .mega-subs{grid-template-columns:1fr;}
  .mega-results{position:static;}
  .mega.is-searching .mega-cats{display:none;}
  .mega-extra{width:auto;margin-left:0;border-left:0;border-top:1px solid var(--mg-rule);}
  .mega-hint{display:none;}
}

/* ---------- simple dropdowns under other menu items (partials/nav-drops.php) ---------- */
.navdrop-trigger[aria-expanded="true"]{border-bottom-color:var(--ink,#0F2A47);}
.navdrop,.navdrop *{box-sizing:border-box;}
.navdrop{
  display:none;position:fixed;top:0;left:0;min-width:230px;max-width:92vw;padding:8px 0;
  background:var(--paper-card,#FBFDFE);color:var(--ink,#0F2A47);border:1px solid var(--rule-strong,#B7C6D4);
  border-radius:0 0 8px 8px;box-shadow:0 18px 40px rgba(10,30,60,.2);z-index:3000;
  font-size:14px;line-height:1.4;text-align:left;max-height:70vh;overflow-y:auto;
}
.navdrop.is-open{display:block;}
.navdrop ul{list-style:none;margin:0;padding:0;}
.navdrop li{margin:0;padding:0;list-style:none;}
.navdrop a{display:block;padding:9px 18px;color:var(--ink,#0F2A47);text-decoration:none;font-weight:500;}
.navdrop a:hover{background:var(--paper,#EFF4F8);}
.navdrop-all{font-weight:700 !important;border-bottom:1px solid var(--rule,#D2DEE7);margin-bottom:4px;}
