/* Public navigation only; account and branded storefront shells remain independent. */
.public-menu-tools { display:flex; align-items:center; gap:10px; }
.public-menu-tools .theme-menu span { display:none; }
.public-menu-toggle,.public-menu-close { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 15px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text-primary); cursor:pointer; font-weight:650; }
.public-menu-toggle[hidden] { display:none; }
.public-menu-toggle:hover,.public-menu-close:hover { background:var(--primary-soft); color:var(--primary); }
.public-menu { position:fixed; inset:0 0 0 auto; margin:0; width:min(350px,100%); height:100dvh; max-height:100dvh; max-width:100%; padding:max(24px,env(safe-area-inset-top)) 22px max(20px,env(safe-area-inset-bottom)); border:0; border-left:1px solid var(--border); background:var(--surface); color:var(--text-primary); overflow-y:auto; box-shadow:-16px 0 60px #080f2126; }
.public-menu[open] { display:flex; flex-direction:column; animation:public-menu-enter .2s ease-out; }
.public-menu::backdrop { background:#080f2166; backdrop-filter:blur(2px); }
.public-menu-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.public-menu-brand { display:flex; align-items:center; gap:11px; min-width:0; }
.public-menu-brand .logo-mark { width:38px; height:40px; flex-shrink:0; font-size:21px; }
.public-menu-brand-name { display:block; font-size:16px; font-weight:750; letter-spacing:-.04em; }
.public-menu-heading h2 { margin:3px 0 0; color:var(--text-secondary); font-size:12px; font-weight:500; letter-spacing:0; }
.public-menu-close { width:44px; padding:0; flex-shrink:0; border-color:transparent; background:var(--bg-secondary); }
.public-menu-label { display:block; margin:23px 12px 10px; color:var(--text-secondary); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.public-menu-links { display:grid; gap:5px; }
.public-menu-links a { position:relative; display:flex; align-items:center; gap:12px; min-height:70px; padding:12px; border:1px solid transparent; border-radius:14px; transition:background .15s,color .15s; }
.public-menu-icon { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--text-secondary); }
.public-menu-link-copy { display:grid; gap:3px; min-width:0; font-size:14px; font-weight:650; }
.public-menu-link-copy small { color:var(--text-secondary); font-size:11px; font-weight:400; }
.public-menu-chevron { display:flex; margin-left:auto; flex-shrink:0; color:var(--text-muted); }
.public-menu-chevron svg { width:16px; height:16px; }
.public-menu-links a:hover { background:var(--bg-secondary); }
.public-menu-links a[aria-current] { background:var(--primary-soft); color:var(--primary); }
.public-menu-links a[aria-current] .public-menu-icon { background:var(--logo-bg); border-color:transparent; color:#fff; }
.public-menu-links a[aria-current] .public-menu-chevron { color:var(--primary); }
.public-menu-account { margin-top:25px; padding:22px 12px 0; border-top:1px solid var(--border); }
.public-menu-account-heading { display:flex; align-items:center; gap:11px; }
.public-menu-account-icon { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:50%; background:var(--primary-soft); color:var(--primary); }
.public-menu-account-heading .public-menu-label { margin:0 0 4px; font-size:9px; }
.public-menu-account h3 { font-size:14px; margin:0; letter-spacing:-.02em; overflow-wrap:anywhere; }
.public-menu-account p { color:var(--text-secondary); font-size:12px; line-height:1.6; margin:13px 0 16px; }
.public-menu-account .btn { min-height:46px; border-radius:11px; padding:10px 15px; font-size:13px; gap:10px; }
.public-menu-account .btn svg { width:17px; height:17px; }
.public-menu-account .public-menu-register { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:5px; margin:8px 0 0; }
.public-menu-register a { display:inline-flex; align-items:center; min-height:44px; color:var(--primary); font-weight:650; }
.public-menu-register a:hover { text-decoration:underline; text-underline-offset:3px; }
.public-menu-logout { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; margin-top:8px; border:0; border-radius:10px; background:transparent; color:var(--text-secondary); font-size:12px; cursor:pointer; }
.public-menu-logout:hover { background:var(--bg-secondary); color:var(--text-primary); }
.public-menu-logout svg { width:16px; height:16px; }
.public-menu-footer { display:flex; align-items:center; justify-content:center; gap:9px; padding-top:30px; margin-top:auto; color:var(--text-muted); font-size:10px; letter-spacing:.02em; }
.public-menu-footer>span { width:5px; height:5px; border-radius:50%; background:var(--primary); }
.public-menu-footer b { font-weight:400; }
body.public-menu-open { overflow:hidden; }
@keyframes public-menu-enter { from { transform:translateX(24px); opacity:0; } to { transform:translateX(0); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .public-menu[open] { animation:none; }.public-menu-links a { transition:none; } }
@media(max-width:380px) { .public-header .header-shell { gap:8px; }.public-menu-tools { gap:6px; }.public-menu-toggle { padding:10px; }.public-menu-toggle span:not(.sr-only) { display:none; }.public-menu { width:min(330px,100%); padding-inline:18px; } }
