


#nlp .nlp-header {
  position:relative !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding-right:44px !important;
}

.nlp-menu-btn {
  position:absolute !important; top:50% !important; right:6px !important;
  transform:translateY(-50%) !important;
  
  width:28px !important; height:26px !important;
  padding:0 !important; margin:0 !important; border:0 !important;
  background:transparent !important; cursor:pointer !important;
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  gap:5px !important; z-index:30 !important;
  -webkit-appearance:none !important; appearance:none !important;
}

.nlp-menu-btn::before {
  content:"" !important; position:absolute !important;
  
  left:-18px !important; right:0 !important; top:-2px !important; bottom:-16px !important;
}
.nlp-menu-btn span {
  display:block !important; width:24px !important; height:2px !important;
  background:#e85d8a !important; border-radius:2px !important;
  transition:transform .22s ease, opacity .18s ease !important;
}

.nlp-menu-btn[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg) !important; }
.nlp-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity:0 !important; }
.nlp-menu-btn[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) !important; }


.nlp-menu-panel {
  position:fixed !important; top:0 !important; right:0 !important;
  
  bottom:auto !important; height:auto !important; max-height:100vh !important;
  width:323px !important; max-width:86vw !important;
  background:#fff !important; z-index:2147483000 !important;
  box-shadow:-6px 4px 20px rgba(80,44,60,.22) !important;
  overflow-y:auto !important; -webkit-overflow-scrolling:touch !important;
  padding:0 !important; margin:0 !important;
  text-align:left !important; line-height:1.5 !important;
  border:0 !important; border-radius:0 0 0 12px !important;
}

.nlp-menu-panel li:last-child { border-bottom:0 !important; }

.nlp-menu-hd {
  display:flex !important; align-items:stretch !important;
  background:#fdf1f5 !important; border-bottom:1px solid #f0d5e0 !important;
  position:sticky !important; top:0 !important; z-index:2 !important;
}
.nlp-menu-ttl {
  flex:1 1 auto !important; margin:0 !important; padding:10px 12px !important;
  font-size:15px !important; font-weight:800 !important; color:#21303d !important;
  display:flex !important; align-items:center !important; gap:7px !important;
}
.nlp-menu-close {
  flex:0 0 auto !important; width:48px !important; min-height:48px !important;
  border:0 !important; padding:0 !important; cursor:pointer !important;
  background:#4a4a4a !important; color:#fff !important;
  font-size:19px !important; line-height:1 !important;
  -webkit-appearance:none !important; appearance:none !important;
}
.nlp-menu-panel ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.nlp-menu-panel li { margin:0 !important; border-bottom:1px solid #eee2e8 !important; }
.nlp-menu-panel a {
  display:flex !important; align-items:center !important; gap:10px !important;
  min-height:48px !important; padding:10px 32px 10px 14px !important;
  position:relative !important;
  background:#fff !important; color:#21303d !important;
  font-size:14px !important; font-weight:700 !important;
  text-decoration:none !important; border-radius:0 !important;
}
.nlp-menu-ic {
  flex:0 0 22px !important; width:22px !important; text-align:center !important;
  font-size:16px !important; line-height:1 !important;
}
.nlp-menu-tx { flex:1 1 auto !important; }

.nlp-menu-panel a::after {
  content:"" !important; position:absolute !important; right:14px !important;
  top:50% !important; width:7px !important; height:7px !important;
  border-right:2px solid #e85d8a !important; border-top:2px solid #e85d8a !important;
  transform:translateY(-50%) rotate(45deg) !important;
}
.nlp-menu-panel a:hover { background:#fff7fa !important; }

.nlp-menu-panel a[aria-current="page"] {
  background:#fdf1f5 !important; color:#c2416c !important; pointer-events:none !important;
}
.nlp-menu-panel a[aria-current="page"]::after { display:none !important; }

.nlp-menu-overlay {
  position:fixed !important; inset:0 !important; z-index:2147482999 !important;
  background:rgba(0,0,0,.5) !important; border:0 !important; padding:0 !important;
}
@media (prefers-reduced-motion: reduce) {
  .nlp-menu-btn span { transition:none !important; }}
