/*
 * Berwirausaha Divi Luxury 2.12 — Neon Crown Mega Menu
 * Both visitor and logged-in member screens share this 3x3 component.
 * Scope: theme's own .bw-app-drawer; no plugin/admin CSS changed.
 */
body.bw-v16 .bw-app-drawer {
  --bw-menu-neon:#25dbff;
  --bw-menu-gilt:#efbd60;
  position:absolute;
  top:calc(100% + 14px);
  right:max(14px,calc((100vw - 1280px)/2));
  width:min(354px,calc(100vw - 30px));
  max-width:min(354px,calc(100vw - 30px));
  max-height:min(65dvh,450px);
  padding:14px 15px 12px;
  box-sizing:border-box;
  z-index:1005;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(46,200,242,.55) transparent;
  border-radius:23px;
  border:1.5px solid rgba(30,209,255,.86);
  color:#f4f9ff;
  background:
    radial-gradient(ellipse at 87% 0%,rgba(10,165,236,.22),transparent 51%),
    radial-gradient(ellipse at 1% 100%,rgba(32,128,203,.13),transparent 51%),
    linear-gradient(152deg,#061a30 0%,#071628 48%,#031324 100%);
  box-shadow:
    0 0 0 1px rgba(3,226,255,.16),
    0 0 18px rgba(0,198,255,.34),
    0 16px 50px rgba(0,5,21,.58),
    inset 0 1px 0 rgba(246,213,137,.24),
    inset 0 -1px 9px rgba(0,171,255,.2);
}
body.bw-v16 .bw-app-drawer[hidden],
body.bw-v16 #bw-facility-sub[hidden]{display:none!important}
body.bw-v16 .bw-app-toggle{position:relative;isolation:isolate}
body.bw-v16 .bw-app-toggle[aria-expanded="true"]{
  color:#48efff;
  border-color:#9beeff;
  background:linear-gradient(155deg,#0c2946,#062039);
  box-shadow:0 0 0 1px rgba(221,185,105,.35),0 0 14px rgba(9,221,250,.56),inset 0 1px rgba(255,255,255,.22);
}
body.bw-v16 .bw-app-toggle[aria-expanded="true"]::after{
  content:"";position:absolute;z-index:4;pointer-events:none;
  width:32px;height:25px;left:50%;bottom:-35px;
  transform:translateX(-50%);
  clip-path:polygon(50% 0%,100% 100%,0 100%);
  background:linear-gradient(180deg,#fbdda3 0%,#29e9ff 48%,#072b48 100%);
  filter:drop-shadow(0 0 6px #18dfff);
}
body.bw-v16 .bw-app-drawer .bw-drawer-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:14px;padding:1px 0 13px;border-bottom:1px solid rgba(212,174,96,.35);
  position:relative;
}
body.bw-v16 .bw-app-drawer .bw-drawer-top:after{
  content:"";position:absolute;bottom:-2px;left:0;
  width:68px;height:2px;
  background:linear-gradient(90deg,transparent,#ffe29b 48%,transparent);
  box-shadow:0 0 9px #e8b759;
}
body.bw-v16 .bw-app-drawer .bw-drawer-top small{
  display:block;
  margin-bottom:5px;
  color:#55edff;
  font-size:9px;
  line-height:1.25;
  letter-spacing:.18em;
  font-weight:800;
}
body.bw-v16 .bw-app-drawer .bw-drawer-top h2{
  padding:0!important;margin:0!important;
  font-size:clamp(19px,3.8vw,24px)!important;
  font-weight:850;line-height:1.2;
  color:#f5fbff;
  text-shadow:0 2px 13px rgba(10,41,79,.9);
  letter-spacing:-.035em;
}
body.bw-v16 .bw-app-drawer .bw-drawer-top h2 :is(.bw-gold-word,em){
  color:#ffe1a0;
  font-style:normal;
  background:linear-gradient(95deg,#fff3c9,#e5af58);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
body.bw-v16 .bw-app-drawer .bw-drawer-close{
  flex:0 0 37px;width:37px;height:37px;
  padding:0;
  border:1px solid rgba(36,191,250,.72);
  border-radius:11px;
  background:linear-gradient(135deg,#104265,#063052);
  color:#fff!important;
  font-size:27px!important;
  line-height:1;
  box-shadow:inset 0 1px rgba(255,255,255,.15),0 0 12px rgba(30,200,255,.2);
}
body.bw-v16 .bw-app-drawer .bw-drawer-close:hover,
body.bw-v16 .bw-app-drawer .bw-drawer-close:focus-visible{
  border-color:#f2c876;background:#15496e;
}
body.bw-v16 .bw-app-drawer .bw-app-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:stretch;
  gap:10px 10px;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a,
body.bw-v16 .bw-app-drawer .bw-app-grid > .bw-menu-facilities{
  position:relative;
  min-width:0;
  min-height:90px;
  height:auto;
  padding:8px 3px 7px;
  margin:0;
  border-radius:15px;
  border:1px solid rgba(74,202,247,.65);
  background:
    linear-gradient(155deg,rgba(16,68,100,.9),rgba(3,25,49,.96) 72%),
    radial-gradient(ellipse at top,rgba(32,191,239,.2),transparent);
  box-shadow:
    0 0 0 1px rgba(2,28,57,.75),
    inset 0 1px rgba(198,241,255,.22),
    inset 1px 0 rgba(209,171,90,.43),
    inset -1px 0 rgba(30,189,247,.26),
    0 4px 10px rgba(0,0,0,.19);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
  overflow:visible;
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:7px;
}
body.bw-v16 .bw-app-drawer .bw-menu-facilities{
  display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;
}
body.bw-v16 .bw-app-drawer .bw-app-facility{
  height:100%;min-height:82px;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  gap:7px;padding:0;
  background:transparent;color:#f7faff!important;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a:after,
body.bw-v16 .bw-app-drawer .bw-menu-facilities:after{
  content:"";position:absolute;left:19%;right:19%;height:1px;bottom:0;
  background:linear-gradient(90deg,transparent,#f5be5c 50%,transparent);
  box-shadow:0 0 7px rgba(249,187,93,.88);
  pointer-events:none;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a > svg,
body.bw-v16 .bw-app-drawer .bw-app-facility > svg:first-child{
  display:block;
  flex:none;
  box-sizing:border-box;
  width:44px;height:44px;
  padding:10px;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 23%,rgba(39,174,234,.26),rgba(4,28,57,.93) 73%),
    #071e35;
  color:#56eeff!important;
  stroke:#56eeff!important;
  border:1px solid rgba(52,229,255,.74);
  box-shadow:
    0 0 0 1px rgba(6,69,112,.7),
    0 0 12px rgba(0,187,255,.23),
    inset 0 1px 5px rgba(0,217,255,.26),
    0 3px 0 -1px #f1bc61;
  filter:drop-shadow(0 1px 4px rgba(2,211,249,.19));
  transition:transform .18s ease;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a > span,
body.bw-v16 .bw-app-drawer .bw-app-facility > span{
  display:block;max-width:100%;
  margin:0;padding:0;
  color:#f5faff!important;
  font-size:11px!important;
  font-weight:720!important;
  line-height:1.22;
  text-align:center;
  word-break:normal;overflow-wrap:anywhere;
  text-shadow:0 1px 3px #04111f;
  letter-spacing:-.018em;
}
body.bw-v16 .bw-app-drawer .bw-app-facility > svg:last-child{
  position:absolute;right:6px;bottom:6px;
  width:10px;height:10px;color:#e9bd67;
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a:hover,
body.bw-v16 .bw-app-drawer .bw-app-grid > a:focus-visible,
body.bw-v16 .bw-app-drawer .bw-menu-facilities:focus-within{
  transform:translateY(-1px);
  border-color:rgba(249,197,102,.95);
  box-shadow:0 0 13px rgba(0,191,255,.34),inset 0 0 12px rgba(5,106,174,.28),0 0 0 1px rgba(239,184,96,.32);
}
body.bw-v16 .bw-app-drawer .bw-app-grid > a:hover > svg,
body.bw-v16 .bw-app-drawer .bw-app-facility:hover > svg:first-child{transform:translateY(-1px)}
body.bw-v16 .bw-app-drawer .bw-menu-facilities{z-index:2}
body.bw-v16 .bw-app-drawer .bw-menu-facilities:has(#bw-facility-sub:not([hidden])){z-index:7;border-color:#f2c675}
body.bw-v16 .bw-app-drawer #bw-facility-sub:not([hidden]){
  display:grid;
  position:absolute;
  top:calc(100% + 7px);
  right:-8px;
  left:auto;
  width:min(211px,calc(100vw - 48px));
  padding:7px;
  margin:0;
  border-radius:12px;
  background:linear-gradient(150deg,#082f4c,#04192f);
  border:1px solid #48dbf6;
  box-shadow:0 9px 30px rgba(0,7,19,.72),0 0 14px rgba(16,191,239,.24);
  z-index:10;
}
body.bw-v16 .bw-app-drawer #bw-facility-sub a{
  color:#eafbff!important;
  font-size:11px;
  line-height:1.4;
  font-weight:650;
  padding:9px 10px;
  min-height:34px;
  border-radius:7px;
  display:block;
  text-decoration:none!important;
}
body.bw-v16 .bw-app-drawer #bw-facility-sub a:hover,
body.bw-v16 .bw-app-drawer #bw-facility-sub a:focus-visible{
  background:rgba(48,205,244,.17);color:#ffe1a1!important;
}
body.bw-v16 .bw-app-drawer .bw-app-foot{
  margin-top:14px;padding:11px 0 0;
  text-align:center;
  border-top:1px solid rgba(239,194,110,.36);
  color:#bcd8ed!important;
  letter-spacing:.075em;
  font-size:8.2px;
  font-weight:620;
  line-height:1.5;
  white-space:normal;
}
body.bw-v16 .bw-app-drawer .bw-app-foot:before,
body.bw-v16 .bw-app-drawer .bw-app-foot:after{
  content:"";display:inline-block;vertical-align:middle;
  width:14px;height:1px;margin:0 6px 2px;
  background:#fac973;box-shadow:0 0 7px #e5b357;
}
/* Site bottom navigation takes the same cyan/gold crown language. */
@media(max-width:980px){
  body.bw-v16 .bw-site-bottom{
    border-top:1px solid rgba(43,192,236,.65);
    background:linear-gradient(180deg,rgba(5,25,44,.98),rgba(1,17,35,.99));
    box-shadow:0 -5px 26px rgba(4,74,111,.25);
  }
  body.bw-v16 .bw-site-bottom a{
    color:#b8cbe2!important;
    transition:color .18s ease,background-color .18s ease;
  }
  body.bw-v16 .bw-site-bottom a[aria-current="page"]{
    border:1px solid rgba(17,207,255,.67);
    background:linear-gradient(135deg,#063a60,#07263f);
    color:#45efff!important;
    box-shadow:0 0 13px rgba(0,190,252,.23),inset 0 1px rgba(156,241,255,.15);
  }
}
@media(max-width:767px){
  body.bw-v16 .bw-app-drawer{
    right:12px;top:calc(100% + 13px);
    width:min(324px,calc(100vw - 28px));max-width:min(324px,calc(100vw - 28px));
    padding:12px 12px 10px;border-radius:19px;
    max-height:min(63dvh,420px);
  }
  body.bw-v16 .bw-app-drawer .bw-app-grid{gap:8px}
  body.bw-v16 .bw-app-drawer .bw-app-grid > a,
  body.bw-v16 .bw-app-drawer .bw-app-grid > .bw-menu-facilities{
    min-height:86px;padding:7px 2px 6px;border-radius:13px;
  }
  body.bw-v16 .bw-app-drawer .bw-app-grid > a > svg,
  body.bw-v16 .bw-app-drawer .bw-app-facility > svg:first-child{
    width:40px;height:40px;padding:9px;
  }
  body.bw-v16 .bw-app-drawer .bw-drawer-top{margin-bottom:12px;padding-bottom:11px}
  body.bw-v16 .bw-app-drawer .bw-drawer-top h2{font-size:20px!important}
  body.bw-v16 .bw-app-drawer .bw-app-foot{font-size:7.4px;letter-spacing:.045em;margin-top:11px}
  body.bw-v16 .bw-app-drawer .bw-app-foot:before,
  body.bw-v16 .bw-app-drawer .bw-app-foot:after{width:9px;margin-inline:3px}
  body.bw-v16 .bw-app-toggle[aria-expanded="true"]::after{bottom:-31px;height:22px}
}
@media(max-width:360px){
  body.bw-v16 .bw-app-drawer{right:12px;width:min(308px,calc(100vw - 24px));max-width:min(308px,calc(100vw - 24px));padding:10px}
  body.bw-v16 .bw-app-drawer .bw-app-grid{gap:6px}
  body.bw-v16 .bw-app-drawer .bw-app-grid > a,
  body.bw-v16 .bw-app-drawer .bw-app-grid > .bw-menu-facilities{min-height:83px;padding:6px 2px}
  body.bw-v16 .bw-app-drawer .bw-app-grid > a > span,
  body.bw-v16 .bw-app-drawer .bw-app-facility > span{font-size:10px!important}
  body.bw-v16 .bw-app-drawer .bw-app-foot:before,
  body.bw-v16 .bw-app-drawer .bw-app-foot:after{display:none}
}
@media(max-height:650px){body.bw-v16 .bw-app-drawer{max-height:calc(100dvh - 120px - var(--bw-admin,0px))}}
@media(prefers-reduced-motion:reduce){
  body.bw-v16 .bw-app-drawer *,
  body.bw-v16 .bw-app-toggle{transition:none!important;animation:none!important}
}
/* Light mode retains luxury midnight menu for adequate label contrast. */
html.bw-light body.bw-v16 .bw-app-drawer{
  background:radial-gradient(ellipse at 88% 0%,rgba(22,169,213,.21),transparent 50%),linear-gradient(150deg,#092945,#04182c);
  color:#f5faff;
}
