/* One navigation component for the homepage and every public ordering page. */
.nej-public-header, .nej-public-menu { font-family:Inter,system-ui,-apple-system,sans-serif; font-size:14px; font-weight:400; line-height:1.6; color:#262033; font-synthesis:none; -webkit-font-smoothing:antialiased; }
:is(.nej-public-header,.nej-public-menu) *, :is(.nej-public-header,.nej-public-menu) *::before, :is(.nej-public-header,.nej-public-menu) *::after { box-sizing:border-box; }
:is(.nej-public-header,.nej-public-menu) :is(a,button) { margin:0; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
:is(.nej-public-header,.nej-public-menu) a { color:inherit; text-decoration:none; }
:is(.nej-public-header,.nej-public-menu) button { font-family:inherit; line-height:inherit; cursor:pointer; }
:is(.nej-public-header,.nej-public-menu) :focus-visible { outline:3px solid #5aa1e7; outline-offset:5px; }
.nej-public-header { position:sticky; top:0; z-index:1030; flex-shrink:0; width:100%; background:#fffffff5; border-bottom:1px solid #e9e3ed; }
.nej-public-header .shell { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.nej-public-header .header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:94px; }
:is(.nej-public-header,.nej-public-menu) .brand { display:inline-flex; align-items:center; flex-shrink:0; background:#fff; border-radius:9px; padding:5px 9px; }
:is(.nej-public-header,.nej-public-menu) .brand .nej-brand-logo { display:block; width:132px; height:55px; max-width:100%; object-fit:contain; filter:none; padding:0; }
.nej-public-header :is(.desktop-nav,.header-actions) { display:flex; align-items:center; gap:26px; }
.nej-public-header :is(.desktop-nav a,.client-link) { font-size:12px; font-weight:600; color:#62596c; }
.nej-public-header :is(.desktop-nav a,.client-link):hover { color:#ab1399; }
.nej-public-header .header-actions { gap:22px; }
.nej-public-header .client-link { display:flex; gap:8px; align-items:center; }
:is(.nej-public-header,.nej-public-menu) .button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 20px; border-radius:10px; border:1px solid transparent; font-size:12px; font-weight:650; line-height:1.4; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
:is(.nej-public-header,.nej-public-menu) .button i { font-size:12px; }
.nej-public-header .button-primary { color:#fff; background:linear-gradient(110deg,#783caa,#ab1399); box-shadow:0 5px 16px #ab139918; }
.nej-public-header .button-primary:hover { transform:translateY(-2px); box-shadow:0 8px 22px #ab13992b; }
.nej-public-header .header-cta { min-height:42px; padding:11px 15px; font-size:11px; }
:is(.nej-public-header,.nej-public-menu) .menu-toggle { display:none; border:1px solid #e9e3ed; background:#fff; color:#262033; border-radius:9px; width:42px; height:42px; padding:0; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.nej-public-menu { position:fixed; inset:0; margin:auto; border:1px solid #e9e3ed; border-radius:20px; padding:24px; width:min(440px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; background:#fff; box-shadow:0 30px 90px #160d3533; }
.nej-public-menu:not([open]) { display:none; }
.nej-public-menu::backdrop { background:#18102088; }
.nej-public-menu .mobile-menu-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.nej-public-menu nav { display:grid; margin:0 0 24px; }
.nej-public-menu nav a { padding:15px 4px; border-bottom:1px solid #e9e3ed; font-size:17px; font-weight:600; }
.nej-public-menu nav a:hover { color:#ab1399; }
.nej-public-menu .button-secondary { width:100%; color:#262033; border-color:#dfd5e5; background:#fff; }
.nej-public-menu .button-secondary:hover { background:#f8eff8; }
body.nej-public-page { overflow-x:clip; overflow-y:visible; }
body.menu-open { overflow:hidden; }
.nej-public-skip-link { position:fixed; top:-90px; left:16px; padding:10px 18px; background:#fff; color:#262033; font:13px Inter,system-ui,sans-serif; z-index:2000; border:2px solid #ab1399; border-radius:8px; }
.nej-public-skip-link:focus { top:12px; }
.nej-public-nojs-nav { display:flex; gap:12px 18px; flex-wrap:wrap; width:min(1200px,calc(100% - 36px)); margin:0 auto; padding:14px 0; font:12px/1.6 Inter,system-ui,sans-serif; }
.nej-public-nojs-nav a { color:#783caa; }
body.nej-public-page:not(.order-public) > .main-content { padding-top:32px; }
.nej-public-page #main { scroll-margin-top:110px; }
@media(max-width:1100px) {
    .nej-public-header .shell { width:calc(100% - 48px); }
    .nej-public-header .desktop-nav { gap:17px; }
    .nej-public-header .header-inner { gap:15px; }
    .nej-public-header .header-actions { gap:16px; }
    .nej-public-header .client-link span { display:none; }
}
@media(max-width:800px) {
    .nej-public-header :is(.desktop-nav,.header-cta) { display:none; }
    :is(.nej-public-header,.nej-public-menu) .menu-toggle { display:inline-flex; }
    .nej-public-header .header-inner { min-height:78px; }
    :is(.nej-public-header,.nej-public-menu) .brand .nej-brand-logo { width:119px; height:49px; }
    .nej-public-header .client-link span { display:inline; }
}
@media(max-width:480px) {
    .nej-public-header .shell { width:calc(100% - 36px); }
    .nej-public-header .header-actions { gap:14px; }
    .nej-public-header .client-link { font-size:10px; gap:6px; }
    :is(.nej-public-header,.nej-public-menu) .brand { padding:4px 6px; }
    :is(.nej-public-header,.nej-public-menu) .brand .nej-brand-logo { width:104px; height:43px; }
    .nej-public-header .header-inner { min-height:72px; gap:10px; }
    .nej-public-menu { padding:20px; }
    .nej-public-menu .brand .nej-brand-logo { width:118px; }
}
@media(max-width:360px) { .nej-public-header .client-link span { display:none; } }
@media(prefers-reduced-motion:reduce) { :is(.nej-public-header,.nej-public-menu) * { transition:none!important; } }
@media print { .nej-public-header,.nej-public-menu,.nej-public-skip-link,.nej-public-nojs-nav { display:none!important; } }
