/* ============================================================
   NAVIGATION — Mega-Menu + Mobile Drawer
   ============================================================ */

/* ===== Top Bar ===== */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:64px;display:flex;align-items:center;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  border-bottom:1px solid transparent;
  transition:border-color .3s,box-shadow .3s;
}
.navbar.scrolled{border-bottom-color:var(--border-200);box-shadow:var(--shadow-sm)}

.navbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-w);margin:0 auto;padding:0 24px;width:100%;
}

/* ===== Logo ===== */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-mark{
  width:34px;height:34px;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--primary-700),var(--indigo-600));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:14px;letter-spacing:-.03em;
}
.logo-text{font-weight:700;font-size:17px;color:var(--text-900);letter-spacing:-.03em}

/* ===== Desktop Nav Links ===== */
.desk-links{display:flex;align-items:center;gap:2px;list-style:none}
.desk-links>li>a{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 14px;border-radius:var(--radius-xs);font-size:13.5px;font-weight:500;
  color:var(--text-500);transition:color .2s,background .2s;cursor:pointer;
  text-decoration:none;
}
.desk-links>li>a:hover{color:var(--primary-700);background:var(--primary-50)}

/* Dropdown trigger chevron */
.chev{transition:transform .25s}
.dd-wrap.open .chev{transform:rotate(180deg)}

/* ===== Mega Menu (Desktop) ===== */
.dd-wrap{position:relative}
.mega{
  position:absolute;top:calc(100% + 14px);left:50%;
  min-width:580px;
  background:var(--white);border:1px solid var(--border-200);border-radius:var(--radius-lg);
  box-shadow:0 20px 60px rgba(15,23,42,.10),0 4px 16px rgba(15,23,42,.06);
  opacity:0;pointer-events:none;
  transform:translate(-50%,10px);
  transition:opacity .2s,transform .22s cubic-bezier(.16,1,.3,1);
  z-index:200;
}
.mega::before{content:'';position:absolute;top:-18px;left:0;right:0;height:18px}
.dd-wrap.open .mega{opacity:1;pointer-events:auto;transform:translate(-50%,0)}

.mega-grid{display:grid;grid-template-columns:1fr 1fr;padding:8px 0 0}
.mega-col{padding:16px 24px 12px}
.mega-col:first-child{border-right:1px solid var(--border-100)}

.mega-col-lbl{
  font-size:10px;font-weight:700;color:var(--text-400);
  letter-spacing:.12em;text-transform:uppercase;padding:0 12px;margin-bottom:8px;
}

.mega-link{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);
  text-decoration:none;transition:background .15s;
}
.mega-link:hover{background:var(--bg-section-alt)}

.mega-link .lbl{font-size:13px;font-weight:600;color:var(--text-900);line-height:1.3}
.mega-link .sub{font-size:11.5px;color:var(--text-400);margin-top:1px}

/* Shared icon badges */
.ico{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;transition:transform .2s;
}
.mega-link:hover .ico{transform:scale(1.08)}
.ico-blue{background:var(--primary-50);color:var(--primary-600)}
.ico-indigo{background:var(--indigo-50);color:var(--indigo-600)}
.ico-green{background:var(--green-50);color:var(--green-600)}
.ico-teal{background:#ccfbf1;color:#0d9488}
.ico-amber{background:var(--amber-100);color:var(--amber-600)}

.mega-foot{
  padding:12px 24px;border-top:1px solid var(--border-100);
  background:var(--bg-section-alt);border-radius:0 0 var(--radius-lg) var(--radius-lg);
}
.mega-foot a{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;color:var(--primary-600);text-decoration:none;transition:color .2s;
}
.mega-foot a:hover{color:var(--primary-700)}
.mega-foot .fa-arrow-right{font-size:10px;transition:transform .2s}
.mega-foot a:hover .fa-arrow-right{transform:translateX(3px)}

/* ===== Desktop CTA Buttons ===== */
.desk-actions{display:flex;align-items:center;gap:10px}
.btn-ghost{
  padding:8px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;
  color:var(--text-700);background:transparent;border:1.5px solid var(--border-200);
  cursor:pointer;transition:border-color .25s,color .25s;text-decoration:none;font-family:var(--font);
}
.btn-ghost:hover{border-color:var(--primary-500);color:var(--primary-700)}
.btn-solid{
  padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;
  color:#fff;background:var(--primary-600);border:none;cursor:pointer;
  transition:background .25s;box-shadow:var(--shadow-primary);text-decoration:none;font-family:var(--font);
}
.btn-solid:hover{background:var(--primary-700)}

/* ===== Hamburger ===== */
.hamburger{
  display:none;background:none;border:none;cursor:pointer;padding:8px;
  z-index:300;-webkit-tap-highlight-color:transparent;
}
.hamburger i{font-size:22px;color:var(--text-800)}

/* ================================================================
   MOBILE OVERLAY + DRAWER
   ================================================================ */
.m-overlay{
  display:none;position:fixed;inset:0;z-index:150;
  background:rgba(15,23,42,.5);opacity:0;transition:opacity .3s;
}
.m-overlay.show{display:block;opacity:1}

.m-drawer{
  position:fixed;top:0;right:0;bottom:0;width:300px;max-width:85vw;
  z-index:200;background:var(--white);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.32,.72,0,1);
  box-shadow:-6px 0 30px rgba(15,23,42,.12);
}
.m-drawer.show{transform:translateX(0)}

/* Drawer header */
.m-drawer-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid var(--border-200);flex-shrink:0;min-height:64px;
}
.m-close{
  width:36px;height:36px;border-radius:var(--radius-sm);
  background:var(--bg-section-alt);border:1px solid var(--border-200);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text-500);font-size:18px;
  -webkit-tap-highlight-color:transparent;transition:all .2s;
}
.m-close:active{background:var(--red-100);color:var(--red-500);border-color:var(--red-100)}

/* Drawer body — scrollable */
.m-drawer-body{
  flex:1;overflow-y:auto;padding:4px 14px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}

/* ===== Accordion ===== */
.m-acc{border-bottom:1px solid var(--border-100)}
.m-acc-btn{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:14px 6px;background:none;border:none;cursor:pointer;
  font-size:14px;font-weight:600;color:var(--text-800);
  -webkit-tap-highlight-color:transparent;
}
.m-acc-btn>span{display:flex;align-items:center;gap:10px}
.m-icon{width:20px;text-align:center;font-size:13px;color:var(--primary-500)}
.m-chev{transition:transform .3s;color:var(--text-400);flex-shrink:0;font-size:12px}
.m-acc-btn.open .m-chev{transform:rotate(180deg)}

.m-acc-panel{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.m-acc-panel.open{max-height:700px}

.m-acc-lbl{
  font-size:9.5px;font-weight:700;color:var(--text-400);text-transform:uppercase;
  letter-spacing:.12em;padding:6px 6px 2px;margin-top:4px;
}

.m-acc-link{
  display:flex;align-items:center;gap:10px;padding:10px 6px;border-radius:var(--radius-xs);
  font-size:13.5px;font-weight:500;color:var(--text-700);
  text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background .15s;
}
.m-acc-link:active{background:var(--primary-50);color:var(--primary-700)}
.m-acc-link .ico{width:30px;height:30px;border-radius:8px;font-size:12px}

/* Simple mobile links */
.m-link{
  display:flex;align-items:center;gap:10px;padding:14px 6px;
  font-size:14px;font-weight:600;color:var(--text-800);
  border-bottom:1px solid var(--border-100);text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.m-link:last-of-type{border-bottom:none}
.m-link:active{color:var(--primary-700)}

/* Drawer footer */
.m-drawer-ft{
  display:flex;flex-direction:column;gap:8px;padding:14px 20px;
  border-top:1px solid var(--border-200);flex-shrink:0;
}
.m-btn{
  display:block;text-align:center;padding:12px;border-radius:var(--radius-sm);
  font-size:13.5px;font-weight:600;text-decoration:none;-webkit-tap-highlight-color:transparent;
}
.m-btn-primary{color:#fff;background:var(--primary-600);box-shadow:var(--shadow-primary)}
.m-btn-primary:active{background:var(--primary-700)}
.m-btn-outline{color:var(--text-700);background:transparent;border:1.5px solid var(--border-200)}
.m-btn-outline:active{border-color:var(--primary-400);color:var(--primary-700)}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:868px){
  .desk-links,.desk-actions{display:none!important}
  .hamburger{display:block}
}
@media(max-width:1100px){
  .mega{min-width:460px}
  .mega-col{padding:14px 16px 10px}
}

/* Body scroll lock */
body.locked{overflow:hidden;position:fixed;width:100%;height:100%}