/* ==========================================================
   FULL-WIDTH MENU — header 50 / menu 100 / top link 40
========================================================== */
.m-menu { --menu-top:100px; display:none; position:fixed; top:var(--wp-admin-offset,0px); right:0; z-index:100; }
.m-menu-toggle,.m-menu-fallback summary { position:relative; z-index:2; display:grid; place-items:center; width:50px; height:50px; padding:0; border:0; background:#fff; color:#000; cursor:pointer; list-style:none; transition:background-color .3s; }
.m-menu-fallback summary::-webkit-details-marker { display:none; }
.m-menu-icon,.m-menu-icon::before,.m-menu-icon::after { display:block; width:24px; height:2px; background:currentColor; transition:transform .3s,background-color .3s; }
.m-menu-icon { position:relative; }
.m-menu-icon::before,.m-menu-icon::after { position:absolute; left:0; top:0; content:""; }
.m-menu-icon::before { transform:translateY(-5px); }
.m-menu-icon::after { transform:translateY(5px); }
.m-menu.is-open .m-menu-toggle,.m-menu-fallback[open] summary { background:#000; color:#fff; }
.m-menu.is-open .m-menu-icon,.m-menu-fallback[open] .m-menu-icon { background:transparent; }
.m-menu.is-open .m-menu-icon::before,.m-menu-fallback[open] .m-menu-icon::before { transform:rotate(45deg); }
.m-menu.is-open .m-menu-icon::after,.m-menu-fallback[open] .m-menu-icon::after { transform:rotate(-45deg); }
.m-menu-surface { position:fixed; z-index:1; inset:var(--menu-top) auto 0 0; width:100vw; overflow-y:auto; overscroll-behavior:contain; transform:translateX(100%); visibility:hidden; pointer-events:none; transition:transform .3s ease,visibility 0s linear .3s; }
.m-menu.is-open .m-menu-surface,.m-menu-fallback[open] .m-menu-surface { transform:translateX(0); visibility:visible; pointer-events:auto; transition-delay:0s; }
.m-menu-backdrop { position:fixed; z-index:0; inset:0; background:rgb(0 0 0 / .96); }
.m-menu-panel { position:relative; z-index:1; min-height:100%; padding:10px 24px 40px; color:#fff; pointer-events:none; }
.m-menu-panel ul { list-style:none; margin:0; padding:0; pointer-events:auto; }
.m-menu-panel li { border-bottom:1px solid #5b5b5b; }
.m-menu-panel a { position:relative; display:block; min-height:44px; padding:20px 14px 20px 18px; color:#fff; font-size:14px; line-height:1; text-decoration:none; overflow-wrap:anywhere; }
.m-menu-panel a::before { position:absolute; left:0; top:calc(50% - 3px); width:6px; height:6px; border-top:1px solid #aaa; border-right:1px solid #aaa; content:""; transform:rotate(45deg); }
.m-menu-panel a[aria-current] { text-decoration:underline; text-underline-offset:5px; }
.m-menu-panel a:focus-visible { outline-offset:-3px; }
/* Do not reserve an empty scrollbar strip beside the full-width menu. */
@media (max-width:1200px) { html[data-atom-ui] { scrollbar-gutter:auto; } .m-menu { display:block; } }
@media (max-width:768px) { .m-menu { --menu-top:50px; } }
@media (prefers-reduced-motion:reduce) { .m-menu-toggle,.m-menu-icon,.m-menu-icon::before,.m-menu-icon::after,.m-menu-surface { transition:none; } }
