:root { --orange:#e45322; --ink:#102944; --cream:#fffaf2; --muted:#806b5b; }
* { box-sizing:border-box; }
body { margin:0; background:#f2e9dd; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.menu-page { width:min(100%,480px); min-height:100vh; margin:auto; background:var(--cream); overflow:hidden; animation:page-in .55s cubic-bezier(.2,.85,.25,1) both; }
.is-hidden { display:none; }
.hero { height:245px; padding:22px 21px; color:#fff; background:linear-gradient(115deg,#102944dc,#274e71a8),url("https://images.unsplash.com/photo-1568901346375-23c9450c58cd?auto=format&fit=crop&w=1100&q=85") center/cover; }
.hero-top,.section-heading,.social-card { display:flex; align-items:center; justify-content:space-between; }
.hero-top { font-size:11px; font-weight:800; letter-spacing:.08em; }
.round-button { width:35px; height:35px; border:0; border-radius:50%; background:#fff; color:var(--orange); font-size:17px; }
.hero-copy { margin-top:55px; }
.brand-logo { color:#fff; text-align:center; }.brand-logo strong { display:block; font-size:22px; letter-spacing:.08em; line-height:1; }.brand-mark { display:flex; flex-direction:column; align-items:center; gap:4px; width:58px; margin:0 auto 9px; transform:rotate(-36deg); }.brand-mark i { display:block; height:8px; border-radius:20px; background:#fff; transform:skewX(-16deg); }.brand-mark i:nth-child(1) { width:31px; }.brand-mark i:nth-child(2) { width:42px; }.brand-mark i:nth-child(3) { width:53px; }
.hero-logo { display:block; width:180px; margin:0 0 9px; filter:drop-shadow(0 5px 10px #07192ca0); }.hero-logo .brand-mark { width:38px; gap:3px; margin-bottom:6px; }.hero-logo .brand-mark i { height:5px; }.hero-logo .brand-mark i:nth-child(1) { width:20px; }.hero-logo .brand-mark i:nth-child(2) { width:28px; }.hero-logo .brand-mark i:nth-child(3) { width:36px; }.hero-logo strong { font-size:17px; }
.hero p { margin:0; font-size:13px; }
.open-badge { display:inline-block; margin-top:12px; padding:6px 10px; border-radius:20px; background:#dbefd9; color:#25612e; font-size:11px; font-weight:800; }
.content { padding:20px 16px 28px; }.section-heading h2 { font-size:20px; margin:0; }.search-button { border:0; background:transparent; color:#a53c1b; font-size:12px; font-weight:800; }
.tabs { display:flex; gap:8px; overflow-x:auto; margin:17px 0 12px; padding-bottom:3px; scrollbar-width:none; }
.tabs::-webkit-scrollbar { display:none; }
.tab { flex:0 0 auto; border:0; border-radius:20px; padding:8px 13px; background:#eee2d1; color:#654938; font-size:12px; font-weight:800; white-space:nowrap; transition:.2s; }.tab.active { background:var(--orange); color:#fff; box-shadow:0 5px 12px #dc4c1e40; }
.category-browser { margin-top:3px; }.category-browser-heading { display:flex; align-items:end; justify-content:space-between; margin:19px 1px 13px; }.category-browser-heading span { color:#a35b3e; font-size:9px; font-weight:900; letter-spacing:.14em; }.category-browser-heading h3 { margin:4px 0 0; font-size:22px; letter-spacing:-.4px; }.category-browser-heading b { color:#7e6a5b; font-size:10px; }.category-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.category-card { position:relative; min-height:158px; overflow:hidden; border:0; border-radius:18px; color:#fff; text-align:left; background:#102944 center/cover; box-shadow:0 9px 20px #52341f20; cursor:pointer; transition:transform .2s,box-shadow .2s; }.category-card:hover { transform:translateY(-3px); box-shadow:0 13px 24px #52341f35; }.category-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#0d1f3210 15%,#0d1f32d9 100%); }.category-card-content { position:absolute; z-index:1; right:13px; bottom:12px; left:13px; }.category-card span { display:inline-grid; width:25px; height:25px; place-items:center; margin-bottom:19px; border-radius:50%; color:#102944; background:#f6c540; font-size:16px; }.category-card strong { display:block; font-size:16px; line-height:1.05; }.category-card small { display:block; margin-top:4px; color:#f2e7db; font-size:10px; }.menu-details { animation:page-in .35s ease both; }.back-to-categories { margin:18px 0 10px; padding:0; border:0; color:#a33e1d; background:transparent; font-size:12px; font-weight:900; }.menu-details .category-info { margin-top:0; }
.category-info { position:relative; margin:2px 0 8px; padding:13px 16px; overflow:hidden; border-radius:16px; color:#fff; background:linear-gradient(120deg,#102944,#315678); }.category-info:after { content:"✦"; position:absolute; right:16px; top:9px; color:#f6c540; font-size:28px; }.category-kicker { color:#f6c540; font-size:9px; font-weight:900; letter-spacing:.15em; }.category-info h3 { margin:3px 0 1px; font-size:18px; text-transform:uppercase; }.category-info p { margin:0; color:#dbe7f2; font-size:10px; }
.menu-item { display:flex; align-items:center; gap:11px; padding:11px 0; border-bottom:1px solid #f0e5d9; animation:item-in .3s ease both; }.food-image { width:66px; height:66px; border-radius:15px; object-fit:cover; }.item-details { flex:1; min-width:0; }.item-details h3 { margin:0; font-size:14px; }.item-details p { margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.35; }.price { font-size:14px; font-weight:900; color:#be3d18; white-space:nowrap; }.add-button { border:0; width:27px; height:27px; border-radius:50%; background:#f5d9ca; color:#bd411b; font-size:20px; line-height:1; }
.social-card { margin-top:17px; padding:14px; border-radius:17px; color:#fff; background:#102944; }.social-card strong { display:block; font-size:13px; }.social-card small { display:block; margin-top:3px; color:#d7e3ee; font-size:10px; }.social-links { display:flex; gap:7px; }.social-links a { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#fff2e9; color:#9b371d; text-decoration:none; font-size:10px; font-weight:900; }
.quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:12px; }.quick-actions a { padding:12px 6px; border-radius:13px; text-align:center; text-decoration:none; font-size:11px; font-weight:900; }.review-link { background:#f6c540; color:#593d00; }.map-link { background:#e9dfd2; color:#49372c; }
.splash { position:fixed; z-index:5; inset:0; display:grid; place-items:center; overflow:hidden; color:#fff; background:radial-gradient(circle at 85% 15%,#283e5d 0,#112943 42%,#091728 100%); transition:opacity .65s ease,visibility .65s ease; }.splash.out { opacity:0; visibility:hidden; }.splash-content { z-index:1; text-align:center; animation:float-in .85s cubic-bezier(.2,.8,.25,1) both; }.splash-logo { position:relative; width:262px; min-height:130px; display:grid; place-items:center; margin:0 auto 28px; overflow:hidden; border:1px solid #ffffff20; border-radius:9px; background:#112943; box-shadow:0 18px 40px #020a1480; }.splash-logo:after { content:""; position:absolute; inset:-20% auto -20% -60%; width:35%; transform:skewX(-22deg); background:linear-gradient(90deg,transparent,#ffffffa8,transparent); animation:light-sweep 1.6s .55s ease-out both; }.splash-logo .brand-mark { position:relative; z-index:1; }.splash-logo strong { position:relative; z-index:1; font-size:27px; }.eyebrow { margin:0; color:#b8c9db; letter-spacing:.22em; font-size:11px; font-weight:800; }.splash h1 { margin:12px 0 8px; font-size:38px; line-height:.88; letter-spacing:.04em; }.splash-tagline { margin:0; color:#d8e3ee; font-size:14px; }.loading { display:flex; justify-content:center; gap:6px; margin-top:56px; }.loading span { width:7px; height:7px; border-radius:50%; background:#fff; animation:dot 1s infinite ease-in-out; }.loading span:nth-child(2) { animation-delay:.15s; }.loading span:nth-child(3) { animation-delay:.3s; }.splash-glow { position:absolute; border-radius:50%; filter:blur(4px); opacity:.24; }.glow-one { width:280px; height:280px; right:-95px; top:-85px; background:#6ba2c8; }.glow-two { width:210px; height:210px; left:-85px; bottom:-65px; background:#31577f; }
@keyframes light-sweep { to { left:130%; } } @keyframes dot { 0%,80%,100% { transform:scale(.6); opacity:.5; } 40% { transform:scale(1.15); opacity:1; } } @keyframes float-in { from { opacity:0; transform:translateY(20px) scale(.96); } to { opacity:1; transform:none; } } @keyframes page-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } } @keyframes item-in { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
@media (min-width:481px) { body { padding:22px; }.menu-page { border-radius:28px; box-shadow:0 18px 55px #6d482d35; min-height:760px; }.splash-content { transform:scale(1.06); } } @media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
.admin-backdrop { position:fixed; z-index:9; inset:0; visibility:hidden; opacity:0; background:#06132188; transition:.25s; }.admin-panel { position:fixed; z-index:10; top:0; right:0; width:min(100%,430px); height:100dvh; overflow:auto; transform:translateX(104%); color:#18304a; background:#fffaf2; box-shadow:-16px 0 45px #08142242; transition:transform .32s cubic-bezier(.2,.8,.2,1); }.admin-panel.open { transform:none; }.admin-panel.open + .admin-backdrop { visibility:visible; opacity:1; }.admin-header { display:flex; align-items:center; justify-content:space-between; padding:21px 19px; color:#fff; background:#102944; }.admin-header span { color:#f6c540; font-size:10px; font-weight:900; letter-spacing:.12em; }.admin-header h2 { margin:3px 0 0; font-size:21px; }.admin-header button { width:34px; height:34px; border:0; border-radius:50%; color:#102944; background:#fff; font-size:24px; }.admin-body { padding:18px; }.admin-section { padding:16px 0; border-bottom:1px solid #eadfd3; }.admin-section h3 { margin:0 0 10px; font-size:15px; }.inline-form { display:flex; gap:8px; }.inline-form input { min-width:0; flex:1; }.admin-panel input,.admin-panel select { width:100%; border:1px solid #d9cbbd; border-radius:10px; padding:11px 10px; color:#3c2b21; background:#fff; font:inherit; font-size:13px; }.admin-panel button { cursor:pointer; font:inherit; font-weight:800; }.inline-form button,.admin-actions button { border:0; border-radius:10px; padding:10px 12px; color:#fff; background:var(--orange); font-size:12px; }.category-list,.product-list { display:grid; gap:7px; }.manager-row { display:flex; align-items:center; gap:8px; padding:9px; border-radius:11px; background:#f1e8dd; font-size:12px; }.manager-row b { flex:1; }.manager-row button { border:0; border-radius:7px; padding:6px 8px; color:#16344f; background:#fff; font-size:11px; }.manager-row .danger { color:#a92e19; }.product-form { display:grid; gap:8px; }.file-label { display:block; color:#6e5847; font-size:12px; font-weight:700; }.file-label input { margin-top:5px; padding:7px; }.admin-actions { display:flex; justify-content:flex-end; gap:8px; }.admin-actions .muted-button { color:#5b4b3e; background:#e9dfd5; }
.admin-link { display:grid; place-items:center; text-decoration:none; }.admin-page { padding:0; background:#e9dfd5; }.admin-shell { width:min(100%,760px); min-height:100vh; margin:auto; background:#fffaf2; }.admin-page .admin-header h1 { margin:3px 0 0; font-size:21px; }.admin-page .admin-header a { padding:9px 11px; border-radius:9px; color:#102944; background:#fff; text-decoration:none; font-size:12px; font-weight:800; }.admin-page .admin-section h2 { margin:0 0 10px; font-size:15px; }.admin-page input,.admin-page select { width:100%; border:1px solid #d9cbbd; border-radius:10px; padding:11px 10px; color:#3c2b21; background:#fff; font:inherit; font-size:13px; }.admin-page button { cursor:pointer; font:inherit; font-weight:800; }
.admin-page { min-width:320px; background:#eef1f5; color:#142d49; }.admin-shell { width:100%; min-height:100dvh; background:#f7f8fa; }.admin-topbar { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 34px; color:#fff; background:#102d4b; }.admin-brand { display:flex; align-items:center; gap:9px; color:#fff; text-decoration:none; }.admin-brand .brand-mark { width:30px; margin:0; gap:2px; transform:rotate(-36deg); }.admin-brand .brand-mark i { height:4px; }.admin-brand .brand-mark i:nth-child(1) { width:16px; }.admin-brand .brand-mark i:nth-child(2) { width:22px; }.admin-brand .brand-mark i:nth-child(3) { width:29px; }.admin-brand strong { font-size:17px; letter-spacing:.08em; }.admin-brand small { padding:3px 6px; border-radius:5px; color:#f7c946; background:#ffffff18; font-size:9px; font-weight:900; letter-spacing:.1em; }.topbar-actions { display:flex; align-items:center; gap:18px; font-size:12px; }.save-status { color:#9de3bd; }.topbar-actions a { padding:10px 13px; border-radius:9px; color:#102d4b; background:#fff; text-decoration:none; font-weight:800; }.admin-layout { display:grid; grid-template-columns:310px minmax(0,1fr); min-height:calc(100dvh - 76px); }.admin-sidebar { padding:28px 20px; border-right:1px solid #dde3ea; background:#fff; }.sidebar-title span,.workspace-heading span { color:#8a99a9; font-size:10px; font-weight:900; letter-spacing:.12em; }.sidebar-title h1 { margin:5px 0 4px; font-size:24px; }.sidebar-title p { margin:0 0 20px; color:#748597; font-size:12px; }.new-category-form { display:flex; gap:7px; margin-bottom:19px; }.new-category-form input { min-width:0; padding:10px; border:1px solid #dce3eb; border-radius:9px; outline:none; font:inherit; font-size:12px; }.new-category-form input:focus,.editor-card input:focus,.editor-card select:focus { border-color:#e45322; box-shadow:0 0 0 3px #e4532215; }.new-category-form button { width:39px; border:0; border-radius:9px; color:#fff; background:#e45322; font-size:21px; }.admin-page .category-list { gap:5px; }.admin-page .manager-row { min-height:44px; padding:7px 8px 7px 11px; border:1px solid transparent; border-radius:9px; background:transparent; font-size:12px; }.admin-page .manager-row:hover { border-color:#dce3eb; background:#f7f9fb; }.admin-page .manager-row b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-page .manager-row button { padding:6px 7px; border:0; border-radius:6px; color:#617386; background:#eef2f6; font-size:0; }.admin-page .manager-row button:before { font-size:14px; }.admin-page .manager-row button[data-select]:before { content:"◉"; }.admin-page .manager-row button[data-rename]:before { content:"✎"; }.admin-page .manager-row .danger:before { content:"×"; }.admin-page .manager-row .danger { color:#b83c2a; }.admin-workspace { padding:34px clamp(24px,4vw,58px); }.workspace-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }.workspace-heading h2 { margin:5px 0 0; font-size:29px; letter-spacing:-.7px; }.product-count { padding:8px 11px; border-radius:20px; color:#617386; background:#e9edf2; font-size:12px; font-weight:800; }.workspace-grid { display:grid; grid-template-columns:minmax(310px,.9fr) minmax(340px,1.1fr); gap:20px; align-items:start; }.editor-card,.products-card { padding:22px; border:1px solid #e2e7ed; border-radius:16px; background:#fff; box-shadow:0 5px 16px #0b29400b; }.card-heading { display:flex; align-items:flex-start; gap:10px; margin-bottom:19px; }.card-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#d24c20; background:#fcede7; font-weight:900; }.card-heading h2 { margin:0; font-size:16px; }.card-heading p { margin:4px 0 0; color:#7c8b9b; font-size:11px; }.admin-page .product-form { grid-template-columns:1fr 1fr; gap:13px; }.admin-page .product-form label { display:grid; gap:6px; color:#53687b; font-size:11px; font-weight:800; }.admin-page .product-form .wide { grid-column:1/-1; }.admin-page .product-form input,.admin-page .product-form select { padding:10px; border:1px solid #dce3eb; border-radius:9px; color:#203852; font:inherit; font-size:12px; }.upload-field { padding:10px; border:1px dashed #b6c2ce; border-radius:9px; background:#f8fafc; }.admin-page .file-label input { margin:0; padding:0; border:0; }.admin-page .admin-actions { justify-content:flex-end; margin-top:3px; }.admin-page .admin-actions button { padding:10px 13px; border:0; border-radius:9px; color:#fff; background:#e45322; font-size:12px; }.admin-page .admin-actions .muted-button { color:#53687b; background:#e9edf2; }.admin-page .product-list { max-height:520px; overflow:auto; padding-right:2px; }.admin-page .product-list .manager-row { padding:10px; border:1px solid #e5ebf0; background:#fff; }.admin-page .product-list .manager-row b small { color:#e45322; }.admin-page .product-list .manager-row button[data-edit]:before { content:"✎"; }.admin-page .product-list .manager-row .danger:before { content:"×"; }
@media (max-width:840px) { .admin-topbar { padding:0 18px; }.save-status { display:none; }.admin-layout { grid-template-columns:1fr; }.admin-sidebar { border-right:0; border-bottom:1px solid #dde3ea; }.admin-page .category-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-workspace { padding:25px 18px; }.workspace-grid { grid-template-columns:1fr; } } @media (max-width:520px) { .topbar-actions { gap:0; }.admin-brand small { display:none; }.admin-page .category-list { grid-template-columns:1fr; }.workspace-heading h2 { font-size:24px; }.admin-page .product-form { grid-template-columns:1fr; }.admin-page .product-form .wide { grid-column:auto; } }
.confirm-modal { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:20px; visibility:hidden; opacity:0; background:#07192a86; backdrop-filter:blur(5px); transition:.2s; }.confirm-modal.open { visibility:visible; opacity:1; }.confirm-card { width:min(100%,390px); padding:29px; border-radius:19px; text-align:center; background:#fff; box-shadow:0 22px 70px #07172755; transform:translateY(10px) scale(.98); transition:.25s cubic-bezier(.2,.8,.2,1); }.confirm-modal.open .confirm-card { transform:none; }.confirm-icon { display:grid; width:52px; height:52px; place-items:center; margin:0 auto 15px; border-radius:50%; color:#c8452d; background:#fde8e3; font-size:25px; font-weight:900; }.confirm-card h2 { margin:0; color:#18324e; font-size:20px; }.confirm-card p { margin:9px 0 22px; color:#718194; font-size:13px; line-height:1.5; }.confirm-actions { display:flex; justify-content:center; gap:9px; }.confirm-actions button { min-width:118px; padding:11px 14px; border:0; border-radius:10px; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }.confirm-actions #confirm-cancel { color:#506579; background:#edf1f5; }.confirm-actions #confirm-delete { color:#fff; background:#d94a2d; box-shadow:0 6px 13px #d94a2d33; }
.settings-card { margin-top:20px; padding:22px; border:1px solid #e2e7ed; border-radius:16px; background:#fff; box-shadow:0 5px 16px #0b29400b; }.settings-form { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.settings-form label { display:grid; gap:6px; color:#53687b; font-size:11px; font-weight:800; }.settings-form input { width:100%; padding:10px; border:1px solid #dce3eb; border-radius:9px; font:inherit; font-size:12px; }.settings-form button { grid-column:1/-1; justify-self:end; padding:10px 13px; border:0; border-radius:9px; color:#fff; background:#e45322; font:inherit; font-size:12px; font-weight:800; }.settings-form input:focus { outline:0; border-color:#e45322; box-shadow:0 0 0 3px #e4532215; }.theme-setting { grid-column:1/-1; margin:0; padding:14px; border:1px solid #dce3eb; border-radius:12px; }.theme-setting legend { padding:0 5px; color:#203852; font-size:13px; font-weight:900; }.theme-setting > p { margin:0 0 11px; color:#718194; font-size:11px; }.theme-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.settings-form .theme-options label { display:block; cursor:pointer; }.theme-options input { position:absolute; opacity:0; pointer-events:none; }.theme-options span { display:grid; gap:3px; min-height:72px; padding:10px; border:1px solid #dce3eb; border-radius:10px; color:#203852; font-size:12px; font-weight:900; transition:.18s; }.theme-options small { color:#718194; font-size:9px; font-weight:700; line-height:1.25; }.theme-options input:checked + span { border-color:#e45322; background:#fff4ed; box-shadow:0 0 0 3px #e4532218; color:#bd411b; }.theme-options input:checked + span small { color:#9e5b43; } @media (max-width:520px) { .settings-form { grid-template-columns:1fr; }.settings-form button { grid-column:auto; justify-self:stretch; }.theme-options { grid-template-columns:1fr; }.theme-options span { min-height:0; } }
.category-card .category-card-content { display:block; width:auto; height:auto; margin:0; border-radius:0; color:inherit; background:transparent; font-size:inherit; }.category-card .category-card-content > span { display:inline-grid; width:25px; height:25px; place-items:center; margin-bottom:19px; border-radius:50%; color:#102944; background:#f6c540; font-size:11px; font-weight:900; }
.category-cards { gap:13px; }.category-card { min-height:177px; isolation:isolate; }.category-card:first-child { grid-column:1/-1; min-height:218px; }.category-card:before { content:""; position:absolute; z-index:0; width:130px; height:130px; right:-48px; top:-45px; border:1px solid #ffffff50; border-radius:50%; box-shadow:0 0 0 15px #ffffff10,0 0 0 31px #ffffff09; }.category-card:after { background:linear-gradient(155deg,#071b2a05 15%,#071b2af0 100%); }.category-card-content { z-index:2!important; }.category-card .category-card-content > .card-number { width:auto; height:auto; margin:0 0 28px; padding:5px 8px; border-radius:20px; color:#152c44; background:#f6c540; font-size:9px; letter-spacing:.1em; }.category-card strong { max-width:78%; font-size:18px; letter-spacing:-.3px; }.category-card:first-child strong { font-size:25px; }.category-card small { max-width:78%; font-size:10px; line-height:1.35; }.card-arrow { position:absolute; right:0; bottom:2px; display:grid; width:35px; height:35px; place-items:center; border:1px solid #ffffff70; border-radius:50%; color:#fff; font-size:18px; font-style:normal; transition:transform .2s,background .2s; }.category-card:hover .card-arrow { transform:rotate(45deg); background:#e45322; border-color:#e45322; }.category-card-1:after { background:linear-gradient(155deg,#a3401808 15%,#531e0fe8 100%); }.category-card-2:after { background:linear-gradient(155deg,#204e5208 15%,#0f3539e8 100%); }.category-card-3:after { background:linear-gradient(155deg,#4e351908 15%,#39230ee8 100%); }
.category-browser { margin:18px -16px 8px; padding:0 16px 12px; }.category-browser-heading { margin:0 1px 12px; }.category-browser-heading h3 { font-size:17px; }.category-cards { display:flex; gap:10px; overflow-x:auto; margin-bottom:17px; padding:3px 1px 27px; scrollbar-width:none; }.category-cards::-webkit-scrollbar { display:none; }.category-card,.category-card:first-child { display:block; flex:0 0 96px; width:96px; min-height:72px; height:72px; overflow:visible; border-radius:50%; background-position:center; box-shadow:0 4px 12px #55392322; }.category-card:before,.category-card:after { display:none; }.category-card .category-card-content { position:absolute; top:80px; right:auto; bottom:auto; left:50%; width:96px; transform:translateX(-50%); text-align:center; }.category-card strong,.category-card:first-child strong { display:block; overflow:hidden; max-width:none; color:#36291f; font-size:10px; font-weight:850; letter-spacing:0; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }.category-card small,.category-card .card-number,.card-arrow { display:none!important; }.category-card.selected { outline:3px solid #e45322; outline-offset:3px; box-shadow:0 5px 16px #e4532250; }.menu-details { margin-top:25px; }
/* Premium dark menu */
body { background:#080a0a; }.menu-page { background:#0b0d0d; color:#f5f0e8; }.hero { height:268px; position:relative; background:radial-gradient(circle at 92% 18%,#e45a2d38 0 4%,transparent 4.5%),radial-gradient(circle at 89% 18%,transparent 0 13%,#e45a2d1a 13.5% 14%,transparent 14.5%),linear-gradient(135deg,#101312,#050606); }.hero:after { content:""; position:absolute; inset:0; opacity:.32; background:repeating-radial-gradient(circle at 100% 0,transparent 0 16px,#e85b2a26 17px 18px,transparent 19px 30px); pointer-events:none; }.hero-top,.hero-copy { position:relative; z-index:1; }.hero-copy { margin-top:62px; }.hero-logo { width:195px; }.hero p { color:#b8b6af; }.open-badge { color:#d7f0d5; background:#1d3a2b; }.content { padding:18px 16px 30px; }.section-heading h2 { color:#fff; }.search-button { color:#f06835; }.category-browser { padding-bottom:9px; }.category-browser-heading span { color:#ec6d3a; }.category-browser-heading h3 { color:#fff; font-size:22px; }.category-browser-heading b { color:#8b8f8d; }.category-cards { gap:13px; padding-bottom:28px; }.category-card,.category-card:first-child { flex-basis:69px; width:69px; height:69px; min-height:69px; border:1px solid #454946; border-radius:50%; background:#141716; box-shadow:none; }.category-card .category-card-content { top:77px; width:78px; }.category-card strong,.category-card:first-child strong { color:#bfc2be; font-size:9px; }.category-icon { display:grid; width:100%; height:100%; place-items:center; color:#d9d7d1; font-size:27px; font-style:normal; }.category-card.selected { border-color:#ec6130; outline:0; background:linear-gradient(145deg,#64301e,#251816); box-shadow:0 0 0 3px #ec613022; }.category-card.selected .category-icon { color:#ff9b72; }.menu-details { margin-top:13px; }.category-info { padding:0 3px 14px; color:#fff; background:transparent; }.category-info:after { display:none; }.category-kicker { color:#ef6b3a; }.category-info h3 { margin:4px 0; font-size:22px; text-transform:none; }.category-info p { color:#989c98; }.menu-item { position:relative; min-height:135px; display:block; overflow:hidden; margin:0 0 12px; padding:17px; border:1px solid #262a29; border-radius:18px; background:linear-gradient(115deg,#141716 0%,#0d0f0f 70%); }.food-image { position:absolute; right:-2px; bottom:0; width:52%; height:100%; border-radius:0; object-fit:cover; opacity:.86; mask-image:linear-gradient(90deg,transparent 0%,#000 30%); }.menu-item:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#121514 0%,#121514e6 43%,transparent 78%); pointer-events:none; }.item-details { position:relative; z-index:1; width:58%; }.item-details h3 { color:#fff; font-size:16px; }.item-details p { color:#aaa9a3; font-size:10px; }.price { position:absolute; z-index:1; bottom:16px; left:17px; color:#f17745; font-size:14px; }.add-button { position:absolute; z-index:2; right:14px; bottom:14px; width:31px; height:31px; color:#fff; background:#e95729; }.social-card { border:1px solid #313532; background:#151817; }.social-card small { color:#aeb1ae; }.social-links a { color:#fa7443; background:#262b28; }.map-link { color:#dedbd3; background:#242826; }.review-link { color:#16110a; background:#f4c64f; }
/* Explore hero */
.hero { height:354px; }.hero-copy { margin-top:35px; }.hero .explore-title { margin:0 0 18px; color:#f6f2e9; font-size:43px; font-weight:850; letter-spacing:-1.8px; line-height:.93; }.explore-title span { color:#fff; }.hero-logo { width:142px; margin:0 0 7px; text-align:left; }.hero-logo .brand-mark { margin:0 0 4px; }.hero-logo strong { font-size:13px; }.hero p { font-size:11px; }.open-badge { margin-top:8px; padding:5px 9px; font-size:10px; }
/* Compact monochrome category strip */
.category-cards { gap:11px; overflow-x:auto; overflow-y:hidden; min-height:112px; padding:3px 1px 29px; }.category-card,.category-card:first-child { position:relative; flex:0 0 76px; width:76px; height:76px; min-height:76px; overflow:visible; border:1px solid #606563; border-radius:50%; background-color:#111; background-size:cover; background-position:center; background-blend-mode:luminosity; filter:grayscale(1) contrast(1.12); }.category-card:after { display:block; content:""; position:absolute; inset:0; border-radius:50%; background:#08100bb0; }.category-card .category-card-content { position:absolute; z-index:2!important; top:0; right:0; bottom:0; left:0; width:auto; transform:none; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { position:absolute; top:85px; left:50%; display:block; width:94px; overflow:hidden; transform:translateX(-50%); color:#eee; font-size:10px; font-weight:850; line-height:1.15; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.category-card.selected { border-color:#fff; outline:2px solid #fff; outline-offset:3px; background-color:#4b4f4d; box-shadow:0 0 0 5px #ffffff18; }.category-card.selected:after { background:#00000055; }
.hero-top { align-items:flex-start; }.hero-ribbon { display:flex; width:30px; min-height:98px; align-items:center; justify-content:center; padding:8px 0; color:#1b110d; background:#e46332; font-size:8px; font-weight:950; letter-spacing:.08em; line-height:1.35; text-align:center; writing-mode:vertical-rl; transform:rotate(180deg); }.hero-search { display:grid; width:49px; height:49px; place-items:center; margin-top:2px; margin-left:auto; border:1px solid #6e726e; border-radius:50%; color:#fff; background:transparent; font-size:31px; font-weight:300; line-height:1; }.hero-copy { margin-top:-58px; margin-left:44px; }.hero .explore-title { font-size:43px; }.hero-logo { margin-top:20px; }.category-browser { margin-top:9px; }.category-browser-heading { display:none; }.category-cards { gap:10px; min-height:97px; padding:2px 2px 23px; }.category-card,.category-card:first-child { flex:0 0 62px; width:62px; height:62px; min-height:62px; overflow:visible; border:1px solid #5a5d5a; border-radius:50%; background:#121514; filter:none; }.category-card:after { display:none; }.category-card .category-card-content { position:absolute; z-index:2!important; top:0; right:0; bottom:0; left:0; width:auto; transform:none; }.category-icon { display:grid; width:100%; height:100%; place-items:center; color:#d8d8d3; font-size:24px; font-style:normal; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { position:absolute; top:70px; left:50%; width:78px; overflow:hidden; transform:translateX(-50%); color:#cfcec9; font-size:9px; font-weight:850; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.category-card.selected { width:74px; height:74px; margin:-6px 0 0 -6px; border:1px solid #805143; border-radius:9px; outline:0; background:linear-gradient(145deg,#563427,#171716); box-shadow:inset 0 0 0 2px #ffffff12,0 3px 13px #0008; }.category-card.selected .category-icon { color:#fff0e9; font-size:29px; }.category-card.selected .category-card-content strong { top:82px; }.category-card.selected:after { display:none; }
.hero { height:420px; }.hero-top { padding-top:4px; }.hero-ribbon { width:31px; min-height:128px; margin-left:-8px; font-size:8px; }.hero-search { width:50px; height:50px; margin-top:8px; }.hero-copy { margin-top:-87px; margin-left:18px; }.hero .explore-title { font-size:45px; line-height:.98; }.hero-logo,.hero-copy > p,.hero-copy > .open-badge { display:none; }.content { position:relative; z-index:2; margin-top:-183px; padding:0 16px 30px; }.section-heading { display:none; }.category-browser { margin:0 -16px; padding:0 24px; }.category-cards { gap:17px; min-height:111px; padding:0 8px 18px; }.category-card,.category-card:first-child { flex:0 0 48px; width:48px; height:48px; min-height:48px; margin-top:10px; }.category-icon { font-size:18px; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { top:57px; width:66px; font-size:8px; }.category-card.selected { flex-basis:61px; width:61px; height:91px; min-height:91px; margin:0; border-radius:7px; }.category-card.selected .category-icon { top:11px; height:35px; font-size:21px; }.category-card.selected .category-card-content strong { top:60px; width:61px; font-size:9px; }.menu-details { margin-top:10px; }.category-info { display:none; }.menu-item { min-height:165px; margin:0 0 16px; padding:19px; border-radius:18px; background:#101312; }.food-image { width:58%; opacity:.96; }.menu-item:after { background:linear-gradient(90deg,#101312 0%,#101312e9 44%,transparent 82%); }.item-details { width:54%; }.item-details h3 { font-size:19px; }.item-details p { font-size:11px; line-height:1.45; }.price { bottom:18px; left:19px; color:#fff; font-size:15px; }.menu-item:first-child { min-height:294px; border:0; border-radius:0; background:#080a0a; }.menu-item:first-child .food-image { width:100%; height:74%; right:0; bottom:0; opacity:1; mask-image:linear-gradient(90deg,#000 0%,#000 100%); }.menu-item:first-child:after { background:linear-gradient(180deg,#080a0a 0%,#080a0a22 31%,transparent 58%),linear-gradient(90deg,#080a0adf 0%,transparent 74%); }.menu-item:first-child .item-details { width:56%; }.menu-item:first-child .item-details h3 { font-size:22px; }.menu-item:first-child .price { bottom:18px; }
.category-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }.category-card.selected .category-icon svg { width:28px; height:28px; stroke-width:2.4; }
.category-cards { min-height:123px; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { overflow:visible; white-space:normal; text-overflow:clip; line-height:1.2; }
.category-list-view { display:grid; gap:13px; margin:2px 0 20px; }.category-list-card { position:relative; min-height:132px; overflow:hidden; border:1px solid #313635; border-radius:16px; color:#fff; text-align:left; background:#141716 center/cover; cursor:pointer; }.category-list-card:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0b0d0df0 0%,#0b0d0dc7 45%,#0b0d0d18 100%); }.category-list-card span { position:absolute; z-index:1; top:18px; right:18px; bottom:18px; left:18px; }.category-list-card i { display:inline-grid; width:29px; height:29px; place-items:center; margin-bottom:13px; border:1px solid #ffffff70; border-radius:50%; color:#fff; font-style:normal; }.category-list-card i svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }.category-list-card strong { display:block; font-size:19px; }.category-list-card small { display:block; max-width:68%; margin-top:4px; color:#b9bcb8; font-size:10px; }.category-list-card b { position:absolute; right:0; bottom:0; display:grid; width:34px; height:34px; place-items:center; border:1px solid #ffffff66; border-radius:50%; color:#fff; font-size:17px; }.category-list-card:hover b { color:#101211; background:#f2eee7; }.category-list-view.is-hidden { display:none; }
.hero-copy { margin-left:61px; }.menu-search { position:fixed; z-index:40; inset:0; display:grid; place-items:start center; padding:75px 15px 20px; background:#0000009e; backdrop-filter:blur(7px); }.menu-search.is-hidden { display:none; }.search-panel { width:min(100%,448px); max-height:78dvh; overflow:auto; padding:16px; border:1px solid #3a3e3a; border-radius:17px; background:#111413; box-shadow:0 22px 65px #000a; }.search-panel-top { display:flex; align-items:center; justify-content:space-between; color:#fff; font-size:14px; }.search-panel-top button { display:grid; width:29px; height:29px; place-items:center; border:0; border-radius:50%; color:#d6d4ce; background:#292d2b; font-size:20px; }.search-panel input { width:100%; margin:14px 0 10px; padding:13px 14px; border:1px solid #414642; border-radius:11px; outline:0; color:#f4f1ea; background:#1a1e1c; font:inherit; font-size:13px; }.search-panel input:focus { border-color:#ea6332; box-shadow:0 0 0 3px #ea633225; }.search-results { display:grid; gap:7px; }.search-hint { margin:7px 2px; color:#aeb1ad; font-size:12px; }.search-result { display:flex; align-items:center; gap:10px; width:100%; padding:8px; border:1px solid #2d322f; border-radius:11px; color:#fff; text-align:left; background:#181c1a; }.search-result img { width:47px; height:47px; border-radius:8px; object-fit:cover; }.search-result span { flex:1; }.search-result strong { display:block; font-size:13px; }.search-result small { display:block; margin-top:3px; color:#aaa9a3; font-size:10px; }.search-result b { color:#ec6d3a; font-size:16px; }
.social-links a { display:grid; place-items:center; }.social-links svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.social-links a:last-child svg { fill:currentColor; stroke:none; }.splash { background:#0b0d0d; }.splash-glow { opacity:.15; }.glow-one { background:#e45322; }.glow-two { background:#2d332f; }
.menu-item:first-child { min-height:165px; border:1px solid #262a29; border-radius:18px; background:#101312; }.menu-item:first-child .food-image { width:58%; height:100%; right:-2px; bottom:0; border-radius:0; opacity:.96; mask-image:linear-gradient(90deg,transparent 0%,#000 30%); }.menu-item:first-child:after { background:linear-gradient(90deg,#101312 0%,#101312e9 44%,transparent 82%); }.menu-item:first-child .item-details { width:54%; }.menu-item:first-child .item-details h3 { font-size:19px; }.menu-item:first-child .price { bottom:18px; left:19px; }
.category-cards { align-items:flex-start; gap:16px; min-height:109px; padding:5px 7px 18px; }.category-card,.category-card:first-child { flex:0 0 50px; width:50px; height:50px; min-height:50px; margin-top:8px; border:1px solid #555956; border-radius:50%; background:#101211; }.category-card .category-card-content { inset:0; }.category-icon { display:grid; width:100%; height:100%; place-items:center; color:#dcddd8; font-size:19px; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { top:59px; width:72px; color:#c8c9c3; font-size:8px; font-weight:850; }.category-card.selected { flex-basis:66px; width:66px; height:88px; min-height:88px; margin:0; border:1px solid #6f554b; border-radius:8px; background:linear-gradient(145deg,#5a3629,#181918); box-shadow:inset 0 0 0 2px #ffffff12,0 3px 12px #0008; }.category-card.selected .category-icon { position:absolute; top:9px; left:0; width:100%; height:37px; color:#fff4ec; font-size:22px; }.category-card.selected .category-card-content strong { top:58px; width:66px; color:#f2eee8; font-size:9px; }.category-card.selected:before { display:block; content:""; position:absolute; top:5px; left:5px; width:4px; height:35px; border-radius:5px; background:#e46131; box-shadow:none; }
.category-cards { align-items:flex-start; gap:18px; min-height:106px; padding:0 4px 16px; }.category-card,.category-card:first-child { flex:0 0 55px; width:55px; height:55px; min-height:55px; margin-top:7px; border-color:#484c49; border-radius:50%; }.category-icon { font-size:21px; }.category-card .category-card-content strong,.category-card:first-child .category-card-content strong { top:64px; width:72px; color:#aaa9a5; font-size:9px; }.category-card.selected { flex-basis:68px; width:68px; height:94px; min-height:94px; margin:0; border-color:#815345; border-radius:8px; background:linear-gradient(145deg,#623c2d,#171716); }.category-card.selected .category-icon { height:62px; font-size:27px; }.category-card.selected .category-card-content strong { top:69px; width:76px; color:#fff; font-size:10px; }.category-card.selected:before { display:block; content:""; position:absolute; inset:3px; border:1px solid #ffffff18; border-radius:6px; }
.new-category-form { display:grid; grid-template-columns:1fr auto; }.new-category-form input { min-width:0; }.new-category-form input:nth-child(2),.new-category-form label { grid-column:1/-1; }.new-category-form label { color:#6e7f90; font-size:10px; font-weight:800; }.new-category-form label input { width:100%; margin-top:4px; padding:7px; border:1px dashed #ccd6df; border-radius:8px; font:inherit; font-size:11px; }.new-category-form button { width:auto; padding:0 10px; font-size:11px; }.category-modal { position:fixed; z-index:31; inset:0; display:grid; place-items:center; padding:20px; visibility:hidden; opacity:0; background:#07192a86; backdrop-filter:blur(5px); transition:.2s; }.category-modal.open { visibility:visible; opacity:1; }.category-edit-card { display:grid; gap:13px; width:min(100%,460px); padding:24px; border-radius:18px; background:#fff; box-shadow:0 22px 70px #07172755; transform:translateY(10px) scale(.98); transition:.25s cubic-bezier(.2,.8,.2,1); }.category-modal.open .category-edit-card { transform:none; }.modal-heading { display:flex; align-items:flex-start; justify-content:space-between; }.modal-heading span { color:#e45322; font-size:9px; font-weight:900; letter-spacing:.12em; }.modal-heading h2 { margin:4px 0 0; color:#18324e; font-size:20px; }.modal-heading button { display:grid; width:30px; height:30px; place-items:center; border:0; border-radius:50%; color:#526579; background:#edf1f5; font-size:20px; }.category-edit-card label { display:grid; gap:6px; color:#53687b; font-size:11px; font-weight:800; }.category-edit-card input { width:100%; padding:11px; border:1px solid #dce3eb; border-radius:9px; color:#203852; font:inherit; font-size:13px; }.modal-upload { padding:10px; border:1px dashed #b6c2ce; border-radius:9px; background:#f8fafc; }.modal-upload input { margin-top:2px; padding:4px; border:0; }.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:4px; }.modal-actions button { padding:10px 13px; border:0; border-radius:9px; font:inherit; font-size:12px; font-weight:800; }.modal-actions button:first-child { color:#53687b; background:#edf1f5; }.modal-actions button:last-child { color:#fff; background:#e45322; }
.admin-page .manager-row button[data-edit-category]:before { content:"✎"; }
.admin-page .manager-row .move-category { color:#53687b; font-size:14px; line-height:1; }
.admin-page .manager-row .move-category:before { content:none; }
.admin-page .manager-row .move-category:disabled { opacity:.28; cursor:not-allowed; }
.category-position { display:inline-grid; width:18px; height:18px; place-items:center; margin-right:7px; border-radius:50%; color:#f7f8fa; background:#7c8b9b; font-size:10px; }

/* Keep category controls inside the narrow administration sidebar. */
.admin-page .category-list .manager-row {
  display:grid;
  grid-template-columns:minmax(0, 1fr) repeat(5, 30px);
  gap:4px;
  width:100%;
  box-sizing:border-box;
}
.admin-page .category-list .manager-row b { min-width:0; }
.admin-page .category-list .manager-row button {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  padding:0;
}
@media (max-width:520px) {
  .admin-page .category-list .manager-row { grid-template-columns:minmax(0, 1fr) repeat(5, 29px); gap:3px; }
  .admin-page .category-list .manager-row button { width:29px; height:29px; }
}
.new-category-form button { grid-column:1; justify-self:start; width:126px!important; height:34px; padding:0 12px!important; border-radius:8px!important; font-size:12px!important; }
.admin-login { min-height:100vh; display:grid; place-items:center; padding:24px; background:#0b0d0d; color:#f7f3eb; }
.admin-login-card { width:min(100%,420px); padding:34px; border:1px solid #3a3e3d; border-radius:22px; background:#151918; box-shadow:0 24px 80px #0008; display:grid; gap:14px; }
.admin-login-card span { color:#f05a28; font-weight:800; letter-spacing:.15em; font-size:.78rem; }.admin-login-card h1 { margin:0; font-size:2rem; }.admin-login-card p { margin:0; color:#b9bfbb; }.admin-login-card label { display:grid; gap:7px; font-weight:700; }.admin-login-card input { padding:13px; border:1px solid #4a504e; border-radius:10px; background:#0b0d0d; color:#fff; font:inherit; }.admin-login-card button { border:0; border-radius:10px; padding:14px; font:700 1rem inherit; background:#f05a28; color:white; cursor:pointer; }.admin-page .admin-shell { display:none; }.admin-page.is-authenticated .admin-shell { display:block; }.admin-page.is-authenticated .admin-login { display:none; }
.admin-login-progress { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:24px; background:#020608a8; backdrop-filter:blur(9px); }.admin-login-progress-card { display:grid; gap:13px; width:min(100%,390px); padding:27px; border:1px solid #4aaee16b; border-radius:22px; color:#d9efff; background:linear-gradient(145deg,#163d57,#0b1c27); box-shadow:0 25px 70px #000b,0 0 0 1px #ffffff0a inset; animation:admin-progress-in .34s cubic-bezier(.2,.8,.2,1) both; }.admin-progress-lock { display:grid; width:42px; height:42px; place-items:center; border:1px solid #71cfff85; border-radius:14px; color:#8ad8ff; background:#68ccff14; font-size:25px; font-weight:900; }.admin-progress-head { display:flex; justify-content:space-between; gap:12px; font-size:14px; font-weight:800; }.admin-progress-head b { color:#64c8ff; }.admin-progress-track { height:8px; overflow:hidden; border-radius:999px; background:#ffffff1f; }.admin-progress-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#287db1,#75d5ff); box-shadow:0 0 13px #67d3ffb0; transition:width .45s ease; }.admin-login-progress small { color:#a9c3d1; font-size:12px; }.admin-login-progress[hidden] { display:none; }@keyframes admin-progress-in { from { opacity:0; transform:translateY(15px) scale(.97); } to { opacity:1; transform:none; } }

/* Secure account actions */
.topbar-actions button { border:0; border-radius:9px; padding:10px 12px; color:#102d4b; background:#fff; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }.topbar-actions .logout-button { color:#fff; background:#c8482e; }
.password-modal { position:fixed; z-index:32; inset:0; display:grid; place-items:center; padding:20px; visibility:hidden; opacity:0; background:#07192a86; backdrop-filter:blur(5px); transition:.2s; }.password-modal.open { visibility:visible; opacity:1; }.password-card { display:grid; gap:13px; width:min(100%,440px); padding:24px; border-radius:18px; background:#fff; box-shadow:0 22px 70px #07172755; transform:translateY(10px) scale(.98); transition:.25s cubic-bezier(.2,.8,.2,1); }.password-modal.open .password-card { transform:none; }.password-card > p { margin:0; color:#718194; font-size:12px; line-height:1.45; }.password-card label { display:grid; gap:6px; color:#53687b; font-size:11px; font-weight:800; }.password-card input { width:100%; padding:11px; border:1px solid #dce3eb; border-radius:9px; color:#203852; font:inherit; font-size:13px; }.password-message { min-height:18px; color:#c8482e!important; font-weight:800; }

/* Automatic daylight theme: 08:00–18:00 */
body.menu-light { background:#e8edf1; color:#163653; }.menu-light .menu-page { background:#fffdf9; color:#163653; }.menu-light .hero { color:#163653; background:#f7f3ed; }.menu-light .hero .explore-title,.menu-light .explore-title span { color:#163653; }.menu-light .hero-search { border-color:#8297a8; color:#163653; }.menu-light .hero-ribbon { color:#fff; background:#196aa5; }.menu-light .content { background:#fffdf9; }.menu-light .category-card,.menu-light .category-card:first-child { border-color:#b9c9d4; background:#fffdf9; }.menu-light .category-icon { color:#163653; }.menu-light .category-card .category-card-content strong,.menu-light .category-card:first-child .category-card-content strong { color:#435362; }.menu-light .category-card.selected { border-color:#1e72af; background:linear-gradient(145deg,#cce8f7,#fafdff); box-shadow:inset 0 0 0 2px #ffffff90,0 3px 12px #1e72af30; }.menu-light .category-card.selected:before { background:#237db8; }.menu-light .category-card.selected .category-icon,.menu-light .category-card.selected .category-card-content strong { color:#164f7b; }.menu-light .menu-item,.menu-light .menu-item:first-child { border:1px solid #dbe3e8; background:#fff; box-shadow:0 6px 16px #29465a0d; }.menu-light .menu-item:after,.menu-light .menu-item:first-child:after { background:linear-gradient(90deg,#fff 0%,#fffefde8 44%,transparent 82%); }.menu-light .item-details h3 { color:#163653; }.menu-light .item-details p { color:#66727c; }.menu-light .price { color:#1b6b9f; }.menu-light .social-card { border:1px solid #d8e2e8; color:#163653; background:#fff; }.menu-light .social-card small { color:#687681; }.menu-light .social-links a { color:#1e72af; background:#e8f5fc; }.menu-light .map-link { color:#385669; background:#e6edf1; }.menu-light .category-list-card { border-color:#cedbe3; }.menu-light .splash { color:#163653; background:#f5f9fb; }.menu-light .splash-logo { border-color:#d3e0e7; background:#fffdf9; box-shadow:0 18px 40px #27495f1f; }.menu-light .splash-logo strong,.menu-light .eyebrow,.menu-light .splash-tagline { color:#163653; }.menu-light .splash-logo .brand-mark i,.menu-light .loading span { background:#196aa5; }

/* Large La Brigade mark beneath the menu title */
.hero { position:relative; }.hero-top,.hero-copy { position:relative; z-index:2; }.hero-watermark { position:absolute; z-index:1; top:286px; left:50%; display:flex; flex-direction:column; align-items:flex-end; gap:12px; width:170px; transform:translateX(-50%) rotate(-36deg); opacity:.2; pointer-events:none; }.hero-watermark i { display:block; height:17px; border-radius:99px; background:#e8e5dc; transform:skewX(-16deg); box-shadow:0 1px 0 #ffffff18; }.hero-watermark i:nth-child(1) { width:95px; }.hero-watermark i:nth-child(2) { width:129px; }.hero-watermark i:nth-child(3) { width:165px; }.menu-light .hero-watermark { opacity:.38; }.menu-light .hero-watermark i { background:#1e72af; }

/* Public dark menu: use the La Brigade blue palette, never orange. */
.menu-page .hero { background:linear-gradient(135deg,#101312,#050606); }
.menu-page .hero:after { background:none; }
.menu-page .hero-ribbon { color:#fff; background:#196aa5; }
.menu-page .search-button,.menu-page .category-browser-heading span,.menu-page .category-kicker,.menu-page .social-links a { color:#4aa8dd; }
.menu-page .category-card.selected { border-color:#3b98ce; background:linear-gradient(145deg,#174f72,#141a1b); }
.menu-page .category-card.selected .category-icon { color:#d9f0ff; }
.menu-page .category-card.selected:before { background:#237db8; }
.menu-page .review-link { color:#fff; background:#196aa5; }

/* Official La Brigade mark: oversized, soft and decorative behind the headline. */
.hero-watermark { top:18px; right:-16px; left:auto; width:310px; opacity:.18; transform:rotate(-6deg); }
.hero-watermark svg { display:block; width:100%; height:auto; overflow:visible; color:#d8e6f0; filter:drop-shadow(0 8px 14px #0004); }
.hero-watermark svg path { stroke:currentColor; stroke-width:24; stroke-linecap:round; }
.hero-watermark i { display:none; }
.menu-light .hero-watermark { opacity:.28; }
.menu-light .hero-watermark svg { color:#196aa5; filter:drop-shadow(0 8px 15px #196aa522); }

/* Inline search below the round categories. */
.hero-corner-logo { display:grid; width:54px; height:54px; place-items:center; margin:7px 2px 0 auto; color:#e5f3fb; opacity:.88; }
.hero-corner-logo svg { width:100%; height:auto; }.hero-corner-logo path { stroke:currentColor; stroke-width:25; stroke-linecap:round; }
.menu-search { position:relative; z-index:4; inset:auto; display:block; padding:0; background:transparent; backdrop-filter:none; }
.search-panel { width:100%; max-height:none; overflow:visible; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.inline-search { display:flex; align-items:center; gap:10px; width:100%; padding:0 15px; border:1px solid #3a4241; border-radius:999px; color:#69b8e6; background:#141918; box-shadow:0 9px 22px #0004; }
.inline-search span { font-size:21px; line-height:1; }.inline-search input { width:100%; margin:0; padding:14px 0; border:0; outline:0; color:#f4f1ea; background:transparent; font:inherit; font-size:12px; }.inline-search input:focus { border:0; box-shadow:none; }
.search-results { position:relative; z-index:5; margin-top:8px; }.search-result b { color:#4aa8dd; }
.menu-light .hero-corner-logo { color:#196aa5; }.menu-light .inline-search { border-color:#c6d4de; color:#196aa5; background:#fff; box-shadow:0 8px 18px #29465a10; }.menu-light .inline-search input { color:#163653; }

/* Give the vertical category cards more presence without touching the horizontal row. */
.category-list-card { min-height:168px; }
.category-list-card span { top:21px; right:20px; bottom:20px; left:20px; }
.category-list-card strong { font-size:24px; letter-spacing:-.35px; }
.category-list-card small { max-width:72%; margin-top:6px; font-size:12px; line-height:1.35; }

/* Official blue La Brigade symbol on the splash screen. */
.splash-logo .splash-mark { position:relative; z-index:1; display:block; width:104px; margin:0 auto 2px; color:#1685f8; }
.splash-logo .splash-mark svg { display:block; width:100%; height:auto; }.splash-logo .splash-mark path { stroke:currentColor; stroke-width:24; stroke-linecap:round; }

/* Final daylight treatment: clean, bright and deliberately different from dark mode. */
.menu-light .menu-page .hero { background:linear-gradient(135deg,#f9fcfe 0%,#edf4f8 100%); }
.menu-light .menu-page .hero:after { background:none; }
.menu-light .hero-watermark { opacity:.16; }
.menu-light .hero-watermark svg { color:#196aa5; filter:drop-shadow(0 10px 18px #196aa51a); }
.menu-light .category-list-card { border-color:#c9d9e4; box-shadow:0 8px 20px #29465a12; }
.menu-light .category-list-card:after { background:linear-gradient(90deg,#f8fcffed 0%,#f8fcffb5 48%,#eaf4fa16 100%); }
.menu-light .category-list-card strong { color:#163653; }.menu-light .category-list-card small { color:#4f6678; }.menu-light .category-list-card i,.menu-light .category-list-card b { border-color:#8ba9bc; color:#196aa5; }.menu-light .category-list-card b { background:#fffdf9d9; }

/* Keep dish photos visible in daylight while preserving text contrast. */
.menu-light .food-image,.menu-light .menu-item:first-child .food-image { width:100%; mask-image:none; opacity:.92; }
.menu-light .menu-item:after,.menu-light .menu-item:first-child:after { background:linear-gradient(90deg,#fffdf9ef 0%,#fffdf9d2 30%,#fffdf978 52%,transparent 75%); }

/* Light product cards: compact restaurant ordering style. */
.item-title-row { display:flex; align-items:center; gap:8px; }.item-rating,.item-quantity { display:none; }
.menu-light .menu-item,.menu-light .menu-item:first-child { position:relative; display:flex; align-items:center; gap:12px; min-height:128px; margin:0 0 14px; padding:10px; overflow:visible; border:0; border-radius:20px; background:#fff; box-shadow:0 7px 19px #29465a12; }
.menu-light .food-image,.menu-light .menu-item:first-child .food-image { position:relative; right:auto; bottom:auto; flex:0 0 128px; width:128px; height:128px; border-radius:20px; opacity:1; object-fit:cover; mask-image:none; }
.menu-light .menu-item:after,.menu-light .menu-item:first-child:after { display:none; }.menu-light .item-details,.menu-light .menu-item:first-child .item-details { position:relative; z-index:1; flex:1; width:auto; min-width:0; }.menu-light .item-details h3,.menu-light .menu-item:first-child .item-details h3 { font-size:16px; line-height:1.15; }.menu-light .item-details p { display:-webkit-box; overflow:hidden; margin:5px 0; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:11px; line-height:1.3; }.menu-light .price,.menu-light .menu-item:first-child .price { position:static; display:block; margin-top:8px; color:#102d4b; font-size:16px; }.menu-light .item-rating { display:inline-block; color:#8a939b; font-size:11px; font-weight:800; white-space:nowrap; }.menu-light .item-rating::first-letter { color:#f5b928; }.menu-light .item-quantity { display:flex; align-items:center; gap:9px; margin-left:auto; }.menu-light .item-quantity button { display:grid; width:29px; height:29px; place-items:center; border:1px solid #dfe5e9; border-radius:6px; color:#102d4b; background:#fff; box-shadow:0 2px 6px #29465a14; font-size:20px; line-height:1; cursor:pointer; }.menu-light .item-quantity button:last-child { color:#fff; background:#10202c; border-color:#10202c; }.menu-light .item-quantity b { min-width:9px; color:#10202c; text-align:center; font-size:14px; }

/* Rating is visible in Dark, Light and Automatic modes. */
.menu-page .item-rating { display:inline-block; color:#c8d0d5; font-size:11px; font-weight:800; white-space:nowrap; }.menu-page .item-rating::first-letter { color:#f5b928; }

/* One consistent product-card design across Dark, Light and Automatic modes. */
.menu-page .menu-item,.menu-page .menu-item:first-child { position:relative; display:flex; align-items:center; gap:12px; min-height:128px; margin:0 0 14px; padding:10px; overflow:visible; border:0; border-radius:20px; background:#fff; box-shadow:0 7px 19px #00000018; }
.menu-page .food-image,.menu-page .menu-item:first-child .food-image { position:relative; right:auto; bottom:auto; flex:0 0 128px; width:128px; height:128px; border-radius:20px; opacity:1; object-fit:cover; mask-image:none; }
.menu-page .menu-item:after,.menu-page .menu-item:first-child:after { display:none; }.menu-page .item-details,.menu-page .menu-item:first-child .item-details { position:relative; z-index:1; flex:1; width:auto; min-width:0; }.menu-page .item-details h3,.menu-page .menu-item:first-child .item-details h3 { color:#102d4b; font-size:16px; line-height:1.15; }.menu-page .item-details p { display:-webkit-box; overflow:hidden; margin:5px 0; color:#60717f; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:11px; line-height:1.3; }.menu-page .price,.menu-page .menu-item:first-child .price { position:static; display:block; margin-top:8px; color:#102d4b; font-size:16px; }.menu-page .item-rating { color:#7e8990; }

/* Dark mode keeps the same layout with a rich charcoal-blue card palette. */
body:not(.menu-light) .menu-page .menu-item,body:not(.menu-light) .menu-page .menu-item:first-child { border:1px solid #273735; background:linear-gradient(135deg,#18201f,#101514); box-shadow:0 10px 24px #0008; }
body:not(.menu-light) .menu-page .item-details h3,body:not(.menu-light) .menu-page .menu-item:first-child .item-details h3 { color:#f5f4ef; }body:not(.menu-light) .menu-page .item-details p { color:#aeb9b6; }body:not(.menu-light) .menu-page .price,body:not(.menu-light) .menu-page .menu-item:first-child .price { color:#66bbe8; }body:not(.menu-light) .menu-page .item-rating { color:#bfc9c7; }

/* Product highlights controlled from the admin panel. */
.product-new-toggle { position:relative; padding:10px 11px; border:1px solid #dce3eb; border-radius:9px; background:#f8fafc; }.product-new-toggle span { display:block; color:#203852; font-size:12px; }.product-new-toggle small { display:block; margin-top:3px; color:#718194; font-size:9px; }.product-new-toggle input { position:absolute; top:12px; right:11px; width:18px!important; height:18px; accent-color:#196aa5; }
.item-badges { position:absolute; z-index:3; top:9px; right:9px; display:grid; justify-items:end; gap:6px; }.item-badges span { padding:7px 11px; border-radius:8px 8px 8px 3px; color:#fff; font-size:12px; font-weight:900; letter-spacing:.02em; box-shadow:0 5px 12px #0003; }.new-badge { background:#d9423d; }.discount-badge { background:#b9232d; }.price del { margin-right:7px; color:#8a949b; font-size:11px; font-weight:700; text-decoration-thickness:1.5px; }.price span { color:#1784bd; }
.admin-page .product-form .product-new-toggle input { padding:0; border:0; border-radius:0; }

/* Give the vertical La Brigade ribbon more presence in the hero. */
.hero-ribbon { width:43px; min-height:156px; font-size:10px; }

/* Clear save feedback for the settings form. */
.settings-save-feedback { grid-column:1/-1; min-height:0; margin:0; color:#168151; font-size:11px; font-weight:800; opacity:0; transform:translateY(-4px); transition:.2s; }.settings-save-feedback.visible { min-height:18px; opacity:1; transform:none; }.settings-form button.is-saved { background:#168151; animation:save-pop .38s ease both; }.settings-form button:disabled { cursor:wait; opacity:.82; }@keyframes save-pop { 50% { transform:scale(1.03); } }

/* Admin controls for visibility, backups and simple activity reporting. */
.product-availability-toggle { position:relative; padding:10px 11px; border:1px solid #dce3eb; border-radius:9px; background:#f8fafc; }.product-availability-toggle span { display:block; color:#203852; font-size:12px; }.product-availability-toggle small { display:block; margin-top:3px; color:#718194; font-size:9px; }.product-availability-toggle input { position:absolute; top:12px; right:11px; width:18px!important; height:18px; accent-color:#196aa5; }.admin-page .product-form .product-availability-toggle input { padding:0; border:0; border-radius:0; }
.analytics-card { margin-top:20px; padding:24px; border:1px solid #dbe4ec; border-radius:20px; background:#fff; box-shadow:0 12px 30px #233b5610; }.analytics-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:18px; }.analytics-summary > p { grid-column:1/-1; margin:0; color:#718194; font-size:13px; }.analytics-metric { padding:15px 12px; border:1px solid #e0e9ef; border-radius:14px; background:#f7fafc; }.analytics-metric strong { display:block; color:#196aa5; font-size:25px; line-height:1; }.analytics-metric span { display:block; margin-top:7px; color:#526b80; font-size:11px; font-weight:800; }
@media (max-width:760px) { .analytics-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Food-first promotional interstitial. */
.promo-modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; background:#07100dcc; opacity:0; visibility:hidden; transition:opacity .28s ease,visibility .28s; backdrop-filter:blur(8px); }.promo-modal.open { opacity:1; visibility:visible; }.promo-card { position:relative; display:grid; grid-template-columns:1.05fr 1fr; width:min(640px,100%); overflow:hidden; border:1px solid #ffffff2b; border-radius:27px; color:#f9f7ef; background:#121b19; box-shadow:0 28px 90px #0009; transform:translateY(16px) scale(.97); transition:transform .32s cubic-bezier(.2,.8,.2,1); }.promo-modal.open .promo-card { transform:none; }.promo-image { min-height:350px; background:linear-gradient(135deg,#196aa5,#0a282a); background-position:center; background-size:cover; }.promo-image:after { content:""; display:block; width:100%; height:100%; background:linear-gradient(0deg,#07100d92,transparent 55%); }.promo-content { display:flex; flex-direction:column; align-items:flex-start; padding:38px 30px 30px; background:radial-gradient(circle at 80% 5%,#196aa533,transparent 35%),#121b19; }.promo-kicker { margin-bottom:15px; color:#64c1f4; font-size:10px; font-weight:900; letter-spacing:.18em; }.promo-content h2 { margin:0; font-size:30px; line-height:1.02; letter-spacing:-1px; }.promo-content p { margin:13px 0 0; color:#c3cfca; font-size:14px; line-height:1.45; }.promo-offer { margin:18px 0 22px; color:#69c0ed; font-size:24px; }.promo-cta { display:flex; align-items:center; justify-content:space-between; gap:22px; width:100%; padding:14px 17px; border-radius:12px; color:#fff; background:#196aa5; font-size:13px; font-weight:900; text-decoration:none; transition:transform .18s,background .18s; }.promo-cta:hover { background:#2484c3; transform:translateY(-2px); }.promo-cta span { font-size:19px; }.promo-later { align-self:center; margin-top:14px; border:0; color:#9eaba5; background:transparent; font:inherit; font-size:11px; cursor:pointer; }.promo-close { position:absolute; z-index:2; top:13px; right:13px; display:grid; width:34px; height:34px; place-items:center; border:1px solid #ffffff52; border-radius:50%; color:#fff; background:#07100d80; font-size:24px; line-height:1; cursor:pointer; }
.promo-setting { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:15px; border:1px solid #d8e3ec; border-radius:13px; background:#f7fafc; }.promo-setting legend { color:#173956; font-size:14px; font-weight:900; }.promo-setting > p { grid-column:1/-1; margin:0 0 2px; color:#6e8192; font-size:11px; }.promo-setting label { display:block; color:#587086; font-size:11px; font-weight:800; }.promo-setting input { width:100%; margin-top:6px; }.promo-setting .promo-enabled { position:relative; grid-column:1/-1; padding:11px 42px 11px 12px; border:1px solid #d6e3ed; border-radius:10px; color:#173956; background:#fff; }.promo-setting .promo-enabled input { position:absolute; top:10px; right:12px; width:20px; height:20px; margin:0; accent-color:#196aa5; }.promo-setting .wide { grid-column:1/-1; }
@media (max-width:620px) { .promo-card { grid-template-columns:1fr; max-width:390px; }.promo-image { min-height:185px; }.promo-content { padding:27px 22px 22px; }.promo-content h2 { font-size:27px; }.promo-setting { grid-template-columns:1fr; } }

/* Poster version: tall, bold and discount-led. */
.promo-card { display:block; width:min(360px,100%); border:4px solid #fff; border-radius:0; background:#d8232e; }.promo-image { position:absolute; inset:0; min-height:0; background:linear-gradient(145deg,#f43b42,#9d0f1e); opacity:.44; filter:saturate(1.2) contrast(1.1); }.promo-image:after { background:linear-gradient(180deg,#df2533d9,#e91c2ed9 60%,#a80d19e8); }.promo-content { position:relative; min-height:560px; align-items:center; padding:45px 30px 25px; text-align:center; background:linear-gradient(145deg,#ed3440d9 0%,#dd1829e8 56%,#ac0e1be8 100%); }.promo-content:before { content:""; position:absolute; inset:0; opacity:.2; background:repeating-conic-gradient(from 220deg at 50% 48%,#fff 0 7deg,transparent 7deg 17deg); mix-blend-mode:screen; pointer-events:none; }.promo-content > * { position:relative; }.promo-kicker { padding:7px 12px; border:1px solid #fff9; color:#fff; background:#850e18a8; font-size:9px; }.promo-content h2 { max-width:270px; margin-top:24px; color:#fff; font-size:27px; text-transform:uppercase; }.promo-content p { max-width:250px; color:#fff; font-weight:700; }.promo-offer { display:block; margin:31px 0 28px; color:#fff; font-size:66px; line-height:.85; font-weight:1000; letter-spacing:-4px; text-shadow:0 8px 0 #8f0d16,0 16px 26px #55040c99; }.promo-cta { margin-top:auto; color:#bd1320; background:#fff; box-shadow:0 8px 0 #970d17; }.promo-cta:hover { color:#bd1320; background:#fff; }.promo-later { color:#fff; }.promo-close { border-color:#fff; color:#bc1520; background:#fff; }.menu-light .promo-card { border-color:#fff; }
@media (max-width:620px) { .promo-card { max-width:335px; }.promo-content { min-height:520px; }.promo-offer { font-size:61px; } }

/* Keep the manager's promo photo visibly present behind the offer. */
.promo-image { opacity:.92; filter:saturate(1.15) contrast(1.05); }.promo-image:after { background:linear-gradient(180deg,#a70a1680 0%,#dc1b2a62 48%,#830711b8 100%); }.promo-content { background:linear-gradient(180deg,#d81b2c35 0%,#b70b1838 100%); }.promo-content:before { opacity:.11; }

/* Let the food photo lead: no pattern above it, only a discreet reading overlay. */
.promo-image { opacity:1; filter:saturate(1.08) contrast(1.04); }.promo-image:after { background:linear-gradient(180deg,#0a121044 0%,transparent 42%,#070b0b9c 100%); }.promo-content { background:linear-gradient(180deg,#08100a32 0%,transparent 48%,#07100d61 100%); }.promo-content:before { display:none; }.promo-kicker { background:#b51520dc; }.promo-content h2,.promo-content p,.promo-offer { text-shadow:0 3px 13px #000b; }

/* Cleaner food-poster hierarchy: keep the dish visible, group the offer below. */
.promo-card { border:0; border-radius:25px; }.promo-content { min-height:535px; justify-content:flex-end; padding:28px 26px 26px; background:linear-gradient(180deg,transparent 18%,#07100d1a 42%,#07100de8 100%); }.promo-image { background-position:center center; }.promo-image:after { background:linear-gradient(180deg,#07100d18 0%,transparent 38%,#07100dca 100%); }.promo-kicker { position:absolute; top:27px; left:50%; transform:translateX(-50%); margin:0; white-space:nowrap; }.promo-content h2 { max-width:280px; margin:0; font-size:28px; line-height:1.05; }.promo-content p { max-width:270px; margin:10px 0 0; font-size:13px; }.promo-offer { margin:18px 0 14px; font-size:59px; line-height:.9; text-shadow:0 7px 0 #8d1017,0 16px 28px #0009; }.promo-later { margin-top:2px; padding:8px 14px; border:1px solid #ffffff70; border-radius:999px; color:#fff; background:#ffffff16; }.promo-close { top:16px; right:16px; }.menu-light .promo-card { border:0; }

/* Premium stage and a restrained food-photo movement. */
.promo-modal { overflow:hidden; background:radial-gradient(circle at 12% 15%,#176b9552,transparent 30%),radial-gradient(circle at 86% 82%,#c21f3542,transparent 34%),linear-gradient(135deg,#06100fef,#111a19eF); }.promo-modal:before,.promo-modal:after { content:""; position:absolute; width:58vmax; height:58vmax; border:1px solid #76bae514; border-radius:50%; pointer-events:none; }.promo-modal:before { top:-37vmax; left:-30vmax; }.promo-modal:after { right:-35vmax; bottom:-40vmax; }.promo-card { z-index:1; box-shadow:0 34px 95px #000c,0 0 0 1px #ffffff24; }.promo-image { transform:scale(1.01); transition:transform 8s cubic-bezier(.2,.7,.2,1); }.promo-modal.open .promo-image { animation:promo-photo-motion 11s cubic-bezier(.25,.65,.35,1) both; }.promo-modal.open .promo-content > * { animation:promo-content-rise .5s ease both; }.promo-modal.open .promo-content h2 { animation-delay:.08s; }.promo-modal.open .promo-content p { animation-delay:.14s; }.promo-modal.open .promo-offer { animation-delay:.2s; }.promo-modal.open .promo-later { animation-delay:.26s; }@keyframes promo-photo-motion { from { transform:scale(1.04) translate3d(-1.5%,1%,0); } to { transform:scale(1.16) translate3d(1.5%,-1%,0); } }@keyframes promo-content-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }@media (prefers-reduced-motion:reduce) { .promo-modal.open .promo-image,.promo-modal.open .promo-content > * { animation:none; } }
/* Compact offer window: keep the menu recognisable behind the promotion. */
.hero-top { position:relative; }
.offer-button { position:absolute; z-index:4; top:13px; right:20px; display:grid; width:61px; height:61px; place-items:center; padding:0; border:0; background:transparent; cursor:pointer; filter:drop-shadow(0 6px 7px #0008); animation:offer-badge-pulse 2.4s cubic-bezier(.45,.05,.55,.95) infinite; }
.offer-button img { display:block; width:100%; height:100%; object-fit:contain; }
.offer-button[hidden] { display:none; }

/* La Brigade masthead: horizontal signature above the menu invitation. */
.menu-page .hero { height:330px; padding:30px 42px; background:#000; }
.menu-page .hero-top { height:0; padding:0; }
.menu-page .hero-ribbon,.menu-page .hero-watermark { display:none; }
.menu-page .hero-copy { display:grid; gap:34px; margin:0; }
.menu-page .hero-logo { display:flex; align-items:center; gap:17px; width:max-content; margin:0; color:#505154; filter:none; }
.menu-page .hero-logo .brand-mark { display:flex; flex-direction:column; align-items:flex-end; gap:7px; width:115px; margin:0; transform:rotate(-36deg); }
.menu-page .hero-logo .brand-mark i { height:16px; border-radius:99px; background:currentColor; transform:skewX(-16deg); }
.menu-page .hero-logo .brand-mark i:nth-child(1) { width:62px; }.menu-page .hero-logo .brand-mark i:nth-child(2) { width:84px; }.menu-page .hero-logo .brand-mark i:nth-child(3) { width:106px; }
.menu-page .hero-logo strong { display:block; color:currentColor; font-size:39px; letter-spacing:.085em; line-height:1; }
.menu-page .hero .explore-title { margin:0; color:#f6f1e8; font-size:58px; line-height:.92; letter-spacing:-.055em; }
.menu-page .hero .explore-title span { color:inherit; }
.menu-page .hero-copy > p,.menu-page .hero-copy > .open-badge { display:none; }
.menu-page .offer-button { top:24px; right:25px; }
.menu-light .menu-page .hero { background:#f8fbfd; }.menu-light .menu-page .hero-logo { color:#47718e; }.menu-light .menu-page .hero .explore-title { color:#163653; }
@media (max-width:520px) {
  .menu-page .hero { height:290px; padding:26px 27px; }
  .menu-page .hero-copy { gap:30px; }
  .menu-page .hero-logo { gap:11px; }
  .menu-page .hero-logo .brand-mark { gap:5px; width:80px; }
  .menu-page .hero-logo .brand-mark i { height:11px; }.menu-page .hero-logo .brand-mark i:nth-child(1) { width:43px; }.menu-page .hero-logo .brand-mark i:nth-child(2) { width:59px; }.menu-page .hero-logo .brand-mark i:nth-child(3) { width:76px; }
  .menu-page .hero-logo strong { font-size:27px; }
  .menu-page .hero .explore-title { font-size:48px; }
}
.menu-light .offer-button { filter:drop-shadow(0 6px 7px #123a5a38); }
.promo-modal { padding:28px; background:radial-gradient(circle at 12% 15%,#176b953d,transparent 30%),radial-gradient(circle at 86% 82%,#c21f3533,transparent 34%),linear-gradient(135deg,#06100fa8,#111a19a8); backdrop-filter:blur(3px); }
.promo-card { width:min(330px,calc(100vw - 48px)); max-height:calc(100vh - 116px); }
.promo-content { min-height:clamp(405px,58vh,505px); padding:25px 22px 22px; }
.promo-kicker { top:22px; font-size:8px; }
.promo-content h2 { max-width:252px; font-size:24px; }
.promo-content p { max-width:244px; font-size:12px; }
.promo-offer { margin:15px 0 10px; font-size:51px; }
.promo-close { top:12px; right:12px; width:32px; height:32px; }
@media (max-width:620px) { .promo-modal { padding:18px; }.promo-card { width:min(315px,calc(100vw - 36px)); }.promo-content { min-height:min(480px,calc(100vh - 110px)); } }
@keyframes offer-badge-pulse { 0%,100% { transform:scale(1) rotate(-5deg); } 50% { transform:scale(1.14) rotate(4deg); } }
@media (prefers-reduced-motion:reduce) { .offer-button { animation:none; } }

/* Final La Brigade signature: the real three curved strokes, with room below for categories. */
.menu-page .content { margin-top:0; padding-top:0; }
.menu-page .hero-logo { color:#515257; }
.menu-page .hero-logo .brand-mark.brand-symbol { display:block; width:116px; height:auto; margin:0; transform:none; color:currentColor; }
.menu-page .hero-logo .brand-symbol svg { display:block; width:100%; height:auto; }
.menu-page .hero-logo .brand-symbol path { stroke:currentColor; stroke-width:24; stroke-linecap:round; }
.menu-page .hero-logo .brand-symbol i { display:none; }
.menu-page .hero-logo strong { color:#515257; font-size:38px; }
.menu-light .menu-page .hero-logo { color:#47718e; }
.menu-light .menu-page .hero-logo .brand-mark.brand-symbol { color:currentColor; }
.menu-light .menu-page .hero-logo strong { color:#47718e; }
@media (max-width:520px) {
  .menu-page .content { margin-top:0; }
  .menu-page .hero-logo .brand-mark.brand-symbol { width:78px; }
  .menu-page .hero-logo strong { font-size:26px; }
}

/* The category rail continues the same stage as the hero — no visible colour seam. */
body:not(.menu-light) .menu-page .content { background:#000; }

/* Final responsive masthead guard.
   Older iterations used negative margins to pull categories over the hero.  Those
   rules are deliberately neutralised here: the signature, title and categories
   now remain in normal document flow on both the live host and local previews. */
.menu-page .hero {
  height:auto !important;
  min-height:0 !important;
  padding:38px 42px 26px !important;
  overflow:hidden;
}
.menu-page .hero-copy {
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:30px !important;
  width:auto !important;
  margin:0 !important;
  transform:none !important;
}
.menu-page .hero-logo,
.menu-page .hero .explore-title {
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  flex:none;
  margin:0 !important;
  transform:none !important;
}
.menu-page .hero .explore-title {
  font-size:clamp(58px,7.4vw,78px) !important;
  line-height:.9 !important;
}
.menu-page .content {
  position:relative;
  z-index:2;
  margin-top:0 !important;
  padding-top:0 !important;
}
.menu-page .category-browser { margin-top:0 !important; }
@media (max-width:520px) {
  .menu-page .hero { padding:28px 26px 22px !important; }
  .menu-page .hero-copy { gap:24px !important; }
  .menu-page .hero .explore-title { font-size:48px !important; }
}
