/* Desktop keeps its original sidebar; mobile gets one compact menu launcher. */
#centralMobileMenuToggle { display:none; }
#centralMobileMenu {
  width:min(520px, calc(100vw - 24px)); max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 32px); box-sizing:border-box; margin:auto; padding:0;
  border:1px solid #8c7446; border-radius:20px; color:#f5efe2;
  background:linear-gradient(145deg,#23241f,#111319 65%);
  box-shadow:0 24px 90px #0009; overflow-x:hidden; overflow-y:auto;
  overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#8c7446 #17191b;
}
#centralMobileMenu:not([open]) { display:none; }
#centralMobileMenu::backdrop { background:#080a10b8; backdrop-filter:blur(5px); }
#centralMobileMenu .cmm-heading {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:19px 18px 14px; border-bottom:1px solid #c7a6642b;
}
#centralMobileMenu .cmm-heading > div > span { color:#bda26b; font-size:9px; letter-spacing:1.7px; font-weight:700; }
#centralMobileMenu h2 { margin:5px 0 0; font-size:21px; line-height:1.2; font-weight:750; letter-spacing:-.6px; color:#f5efe2; }
#centralMobileMenuClose {
  display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-height:44px;
  border:1px solid #706044; border-radius:12px; background:#ffffff05; color:#e6d8b8;
  padding:0; margin:0; font-size:28px; line-height:1;
}
#centralMobileMenuGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:16px; }
#centralMobileMenu .cmm-item {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px;
  min-width:0; min-height:67px; margin:0; padding:9px 3px; border:1px solid #ffffff14; border-radius:12px;
  background:#ffffff06; color:#e1e0d9; box-shadow:none; text-align:center; white-space:normal;
  font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
#centralMobileMenu .cmm-item-icon { display:flex; justify-content:center; align-items:center; width:22px; height:22px; color:#bca574; font-size:21px; line-height:1; }
#centralMobileMenu .cmm-item-icon svg,
#centralMobileMenuToggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#centralMobileMenu .cmm-item-label { max-width:100%; font-size:12px; line-height:1.4; font-weight:600; word-break:keep-all; overflow-wrap:anywhere; }
#centralMobileMenu .cmm-item-count { position:absolute; top:5px; right:6px; max-width:40%; overflow:hidden; text-overflow:ellipsis; font-size:9px; line-height:1.2; color:#a8a697; }
#centralMobileMenu .cmm-item.active { border-color:#ceae69; background:linear-gradient(145deg,#f5dfac,#bfa16a); color:#211e17; box-shadow:0 3px 15px #c8a76022; }
#centralMobileMenu .cmm-item.active .cmm-item-icon { color:#55411c; }
#centralMobileMenu .cmm-item.active .cmm-item-count { color:#584623; }
#centralMobileMenu .cmm-item:focus-visible,
#centralMobileMenuClose:focus-visible,
#centralMobileMenuToggle:focus-visible { outline:3px solid #e6c578; outline-offset:3px; }
@media (hover:hover) {
  #centralMobileMenu .cmm-item:hover { border-color:#b79a5d; background:#b79a5d25; color:#fff3d5; }
  #centralMobileMenu .cmm-item.active:hover { background:#e0c48b; color:#211e17; }
}
@media screen and (max-width:900px) {
  body.central-mobile-menu-ready #viewnav { display:none!important; }
  body.central-mobile-menu-ready #centralMobileMenuToggle {
    display:flex; align-items:center; gap:9px; width:100%; min-height:46px; box-sizing:border-box;
    padding:9px 12px; margin:0; border:1px solid #8a7147; border-radius:11px;
    background:linear-gradient(110deg,#c9aa6923,#c9aa6909); color:#f1e5c7; text-align:left;
  }
  #centralMobileMenuToggle .cmm-toggle-icon { display:flex; align-items:center; color:#d4b779; }
  #centralMobileMenuToggle strong { flex-shrink:0; font-size:14px; font-weight:700; }
  #centralMobileMenuCurrent { margin-left:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:500; color:#c3b89e; }
  #centralMobileMenuToggle .cmm-toggle-arrow { font-size:19px; color:#c7b78f; line-height:1; }
}
@media screen and (max-width:340px) {
  #centralMobileMenuGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:12px; }
  #centralMobileMenu .cmm-item { min-height:61px; }
}
@media print { #centralMobileMenuToggle, #centralMobileMenu { display:none!important; } }
