:root{--cream:#faf7f2;--paper:#fffdf9;--terracotta:#d97757;--terracotta-dark:#8c4b39;--ink:#342a27;--muted:#746966;--line:#eadfd8;--shadow:0 18px 45px rgba(84,48,37,.12);--radius:24px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{background:linear-gradient(135deg,#fffdf9 0%,#f7e9df 100%);border-bottom:1px solid rgba(140,75,57,.1)}.brand-wrap{max-width:1220px;margin:auto;padding:24px clamp(18px,4vw,48px);display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center}.logo{width:145px;height:auto;max-height:100px;object-fit:contain}.brand-copy h1{margin:3px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,4.8vw,58px);line-height:.98;letter-spacing:-.035em;color:var(--terracotta-dark)}.brand-copy>p:last-child{margin:0;color:var(--muted);font-size:14px}.eyebrow{margin:0;color:var(--terracotta);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.language-control select{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;color:var(--ink);font-weight:800;box-shadow:0 6px 18px rgba(84,48,37,.06)}.finder{position:sticky;top:0;z-index:20;background:rgba(250,247,242,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(140,75,57,.08)}.finder-inner{max-width:1220px;margin:auto;padding:12px clamp(18px,4vw,48px) 10px}.search-box{position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(84,48,37,.06)}.search-box svg{width:20px;height:20px;margin-left:15px;fill:none;stroke:var(--terracotta-dark);stroke-width:2;stroke-linecap:round}.search-box input{width:100%;min-height:48px;border:0;background:transparent;outline:0;padding:0 42px 0 10px;color:var(--ink)}.clear-search{position:absolute;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--muted);padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}.chip:hover,.chip.active{border-color:var(--terracotta);background:var(--terracotta);color:#fff}.menu-shell{max-width:1220px;margin:auto;padding:34px clamp(18px,4vw,48px) 90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-heading h2{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,43px);color:var(--terracotta-dark)}.result-count{color:var(--muted);font-size:12px;font-weight:800}.category-section{margin:0 0 42px}.category-title-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.category-title-row h3{margin:0;font-size:20px}.category-title-row span{color:var(--muted);font-size:11px;font-weight:800}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-card{position:relative;overflow:hidden;border:1px solid rgba(140,75,57,.12);background:var(--paper);border-radius:var(--radius);box-shadow:0 8px 24px rgba(84,48,37,.065);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:left;padding:0;color:inherit}.menu-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee6e0}.card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.menu-card:hover .card-image{transform:scale(1.035)}.status-pill{position:absolute;top:12px;left:12px;background:rgba(52,42,39,.82);color:#fff;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:900;backdrop-filter:blur(8px)}.card-body{padding:16px}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-name{margin:0;font-size:16px;line-height:1.2}.card-price{color:var(--terracotta-dark);font-weight:900;white-space:nowrap}.card-desc{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.card-action{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:var(--terracotta);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.out-card{opacity:.58;filter:saturate(.7)}.out-card .card-action{color:var(--muted)}.empty-state{padding:70px 20px;text-align:center}.empty-icon{font-size:45px;color:var(--terracotta)}.empty-state h3{margin:8px 0 5px}.empty-state p{margin:0;color:var(--muted)}.list-fab{position:fixed;z-index:25;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;border:0;background:var(--terracotta-dark);color:#fff;border-radius:999px;padding:12px 16px;box-shadow:0 14px 32px rgba(84,48,37,.3);font-weight:900;cursor:pointer}.list-fab b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;background:#fff;color:var(--terracotta-dark);border-radius:999px;font-size:11px}.bag-icon{font-size:18px}.overlay{position:fixed;inset:0;z-index:50;background:rgba(44,31,27,.62);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.item-modal{position:relative;width:min(540px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:30px;box-shadow:0 30px 80px rgba(40,24,20,.34);animation:rise .22s ease}.modal-close{position:absolute;z-index:3;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 5px 16px rgba(0,0,0,.12);font-size:24px;color:var(--ink);cursor:pointer}.modal-image{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#eee}.modal-body{padding:22px}.category-tag{display:inline-flex;color:var(--terracotta);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.modal-body h2{margin:7px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:30px;color:var(--terracotta-dark)}.modal-description{color:var(--muted);font-size:14px;line-height:1.55}.modal-price-row,.total-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.modal-price-row strong,.total-line strong{font-size:20px;color:var(--terracotta-dark)}.primary-btn,.secondary-btn{width:100%;min-height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;font-weight:900;text-decoration:none;cursor:pointer}.primary-btn{border:0;background:var(--terracotta);color:#fff;margin-top:16px}.primary-btn:hover{background:var(--terracotta-dark)}.secondary-btn{border:1px solid var(--terracotta);color:var(--terracotta-dark);margin-top:10px}.reserve-note{color:var(--muted);font-size:11px;line-height:1.5;text-align:center;margin:12px 0}.drawer-overlay{place-items:stretch end;padding:0}.list-drawer{width:min(460px,94vw);height:100%;background:var(--paper);display:flex;flex-direction:column;box-shadow:-22px 0 55px rgba(40,24,20,.25);animation:slide .22s ease}.drawer-head{position:relative;padding:22px 66px 15px 20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;color:var(--terracotta-dark)}.drawer-close{top:18px}.list-items{flex:1;overflow:auto;padding:10px 16px}.list-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.list-row img{width:64px;height:56px;border-radius:12px;object-fit:cover}.list-row h4{margin:0 0 4px;font-size:13px}.list-row small{color:var(--muted)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:50%;cursor:pointer}.qty strong{min-width:18px;text-align:center}.list-empty{margin:auto;padding:30px;text-align:center;color:var(--muted);font-size:13px}.drawer-footer{padding:16px 18px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.link-btn{margin-top:10px}.text-btn{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer}footer{padding:36px 20px 85px;text-align:center;color:var(--muted);font-size:11px}footer img{width:90px;height:auto;opacity:.7}footer p{max-width:580px;margin:8px auto}@keyframes rise{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}@keyframes slide{from{transform:translateX(35px);opacity:.4}to{transform:none;opacity:1}}@media(max-width:850px){.brand-wrap{grid-template-columns:1fr auto;gap:12px}.logo{width:112px}.brand-copy{grid-column:1/-1;grid-row:2}.language-control{grid-column:2;grid-row:1}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.brand-wrap{padding-top:16px;padding-bottom:18px}.brand-copy h1{font-size:38px}.brand-copy>p:last-child{font-size:13px}.finder-inner{padding-left:12px;padding-right:12px}.menu-shell{padding:26px 12px 90px}.menu-grid{grid-template-columns:1fr;gap:14px}.menu-card{border-radius:22px}.card-image-wrap{aspect-ratio:16/10}.card-body{padding:15px}.section-heading{margin-bottom:16px}.category-section{margin-bottom:34px}.overlay{place-items:end center;padding:0}.item-modal{width:100%;max-height:92vh;border-radius:28px 28px 0 0}.modal-image{aspect-ratio:16/9}.drawer-overlay{place-items:stretch end}.list-drawer{width:94vw}.list-fab{left:50%;right:auto;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v0.1.4b — brand contrast, reliable language flags and add-to-list feedback */
.logo-plaque{display:flex;align-items:center;justify-content:center;min-width:166px;padding:11px 14px;border-radius:22px;background:linear-gradient(145deg,#9a533f 0%,#71382c 100%);box-shadow:0 14px 30px rgba(86,43,33,.22),inset 0 0 0 1px rgba(255,255,255,.12)}
.logo-plaque .logo{width:142px;max-height:88px;filter:drop-shadow(0 2px 8px rgba(255,255,255,.08));display:block}
.language-control{position:relative;justify-self:end;z-index:35}
.language-toggle{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--ink);font-weight:900;box-shadow:0 8px 22px rgba(84,48,37,.08);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.language-toggle:hover,.language-toggle[aria-expanded="true"]{border-color:rgba(217,119,87,.7);box-shadow:0 10px 28px rgba(84,48,37,.13)}
.lang-flag{width:26px;height:19px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(52,42,39,.12);display:block;flex:0 0 auto}
.lang-chevron{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.language-toggle[aria-expanded="true"] .lang-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;right:0;top:calc(100% + 9px);width:210px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(54,34,27,.18)}
.language-option{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border:0;background:transparent;border-radius:12px;padding:10px 9px;text-align:left;color:var(--ink);cursor:pointer}
.language-option:hover,.language-option.is-active{background:#fbf1eb;color:var(--terracotta-dark)}
.language-option span{font-size:13px;font-weight:800}.language-option b{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.add-to-list-btn{position:relative;overflow:hidden;transition:background .18s ease,transform .16s ease,box-shadow .18s ease}
.add-to-list-btn:active:not(:disabled){transform:scale(.985)}
.add-to-list-btn.is-added{background:#497a5b;box-shadow:0 12px 26px rgba(73,122,91,.25)}
.add-to-list-btn.is-added .add-icon{animation:addCheckPop .38s cubic-bezier(.2,.9,.25,1.35)}
.add-to-list-btn:disabled{cursor:default}
.add-toast{position:fixed;z-index:110;left:50%;top:max(18px,env(safe-area-inset-top));transform:translateX(-50%);display:flex;align-items:center;gap:11px;width:min(420px,calc(100vw - 28px));padding:13px 16px;border-radius:18px;background:#fff;color:var(--ink);border:1px solid rgba(73,122,91,.22);box-shadow:0 18px 55px rgba(40,24,20,.23);animation:toastIn .32s cubic-bezier(.2,.8,.2,1)}
.toast-check{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#497a5b;color:#fff;font-size:19px;font-weight:900;flex:0 0 auto}
.add-toast div{min-width:0}.add-toast strong{display:block;color:#315f42;font-size:13px}.add-toast span#addToastItem{display:block;margin-top:2px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fly-to-list{position:fixed;z-index:120;width:50px;height:50px;border-radius:50%;background-position:center;background-size:cover;border:3px solid #fff;box-shadow:0 10px 28px rgba(40,24,20,.3);pointer-events:none;will-change:transform,opacity}
.list-fab.is-bumping{box-shadow:0 0 0 7px rgba(217,119,87,.16),0 16px 38px rgba(84,48,37,.34)}
.list-fab.is-bumping b{animation:countPop .42s cubic-bezier(.2,.9,.25,1.4)}
.footer-logo-plaque{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:14px;background:linear-gradient(145deg,#9a533f,#71382c);box-shadow:0 8px 20px rgba(86,43,33,.16)}
footer .footer-logo-plaque img{width:82px;height:auto;opacity:1;display:block}
@keyframes addCheckPop{0%{transform:scale(.35) rotate(-18deg)}70%{transform:scale(1.25) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,-14px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes countPop{0%{transform:scale(1)}45%{transform:scale(1.42)}100%{transform:scale(1)}}
@media(max-width:850px){.logo-plaque{min-width:128px;width:max-content;padding:8px 11px;border-radius:18px}.logo-plaque .logo{width:106px;max-height:70px}.language-control{grid-column:2;grid-row:1}.language-toggle{min-height:46px;padding:7px 10px}.language-menu{width:200px}}
@media(max-width:560px){.brand-wrap{grid-template-columns:auto 1fr;align-items:center}.logo-plaque{min-width:120px}.logo-plaque .logo{width:100px}.language-control{justify-self:end}.language-toggle strong{font-size:13px}.lang-flag{width:24px;height:17px}.add-toast{top:max(12px,env(safe-area-inset-top));border-radius:16px}.footer-logo-plaque{padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.add-to-list-btn.is-added .add-icon,.list-fab.is-bumping b,.add-toast{animation:none!important}}

/* ==========================================================================\n   Romeo & Juliet Menu v0.1.4c — Category Explorer\n   ========================================================================== */
.chips-shell{position:relative;margin-top:10px;padding:10px 10px 8px;border:1px solid rgba(140,75,57,.09);border-radius:20px;background:linear-gradient(180deg,rgba(255,253,249,.8),rgba(255,255,255,.48));box-shadow:0 8px 22px rgba(84,48,37,.045);overflow:hidden}.chips-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 7px}.chips-heading{display:flex;align-items:center;gap:12px;min-width:0}.chips-caption{font-size:10px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta)}.chips-swipe-hint{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap;transition:opacity .2s ease,transform .2s ease}.chips-swipe-hint.is-dimmed{opacity:.32}.chips-swipe-hint.is-scrolled{opacity:.55}.chips-swipe-arrow{width:17px;height:17px;fill:none;stroke:var(--terracotta);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:rj-chip-nudge 1.1s ease-in-out infinite}.chips-nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.chips-nav-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(140,75,57,.16);border-radius:999px;background:#fff;color:var(--terracotta-dark);box-shadow:0 4px 12px rgba(84,48,37,.07);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.chips-nav-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chips-nav-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--terracotta);border-color:var(--terracotta);color:#fff}.chips-nav-btn:active:not(:disabled){transform:scale(.92)}.chips-nav-btn:disabled{opacity:.25;cursor:default}.chips-viewport{position:relative}.chips{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 6px 11px;scroll-behavior:smooth;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin!important;scrollbar-color:rgba(217,119,87,.95) rgba(140,75,57,.08)!important;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:block!important;height:7px!important}.chips::-webkit-scrollbar-track{background:rgba(140,75,57,.075);border-radius:999px;margin-inline:7px}.chips::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--terracotta),var(--terracotta-dark));border-radius:999px;border:1px solid rgba(255,255,255,.9)}.chips::-webkit-scrollbar-thumb:hover{background:var(--terracotta-dark)}.chip{scroll-snap-align:start;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid rgba(140,75,57,.15);background:rgba(255,255,255,.88);color:var(--muted);padding:8px 13px 8px 9px;border-radius:999px;font-size:11.5px;font-weight:850;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px rgba(84,48,37,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.chip:hover{border-color:rgba(217,119,87,.7);background:#fff;color:var(--terracotta-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(84,48,37,.08)}.chip.active{border-color:var(--terracotta);background:linear-gradient(135deg,var(--terracotta),#c96345);color:#fff;box-shadow:0 9px 20px rgba(140,75,57,.2)}.chip-icon{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:999px;background:#fff8f3;border:1px solid rgba(140,75,57,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);transition:transform .18s ease,background .18s ease}.chip-icon img{display:block;width:17px;height:17px;object-fit:contain}.chip:hover .chip-icon{transform:rotate(-4deg) scale(1.05)}.chip.active .chip-icon{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}.chip.active .chip-icon img{filter:brightness(0) invert(1)}.chip-label{line-height:1.05}.chip.chip-tap{animation:rj-chip-tap .42s cubic-bezier(.2,.8,.2,1)}.chips-edge{position:absolute;z-index:3;top:0;bottom:9px;width:34px;pointer-events:none;opacity:0;transition:opacity .18s ease}.chips-edge-left{left:0;background:linear-gradient(90deg,rgba(255,253,249,.98),rgba(255,253,249,0))}.chips-edge-right{right:0;background:linear-gradient(270deg,rgba(255,253,249,.98),rgba(255,253,249,0))}.chips-shell.has-left .chips-edge-left,.chips-shell.has-right .chips-edge-right{opacity:1}.chips-scroll-track{height:3px;margin:2px 7px 0;border-radius:999px;background:rgba(140,75,57,.07);overflow:hidden}.chips-scroll-track span{display:block;height:100%;min-width:18%;border-radius:inherit;background:linear-gradient(90deg,var(--terracotta),var(--terracotta-dark));transition:width .18s ease;will-change:transform,width}@keyframes rj-chip-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}@keyframes rj-chip-tap{0%{transform:scale(1)}35%{transform:scale(.94)}68%{transform:scale(1.045)}100%{transform:scale(1)}}
@media(max-width:560px){.chips-shell{margin-top:9px;padding:8px 7px 7px;border-radius:17px}.chips-topline{padding:0 3px 6px}.chips-heading{gap:8px}.chips-caption{font-size:9.5px}.chips-swipe-hint{font-size:9.5px}.chips-nav-btn{width:28px;height:28px}.chips{gap:7px;padding-left:4px;padding-right:4px;padding-bottom:10px}.chip{min-height:40px;padding:7px 12px 7px 8px;font-size:11px}.chip-icon{width:25px;height:25px;flex-basis:25px}.chip-icon img{width:16px;height:16px}.chips-edge{width:28px}.chips-scroll-track{margin-top:1px}}
@media(prefers-reduced-motion:reduce){.chips-swipe-arrow{animation:none}.chip.chip-tap{animation:none}}

/* v0.2.0 — Ordering MVP */
.menu-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(217,119,87,.14),transparent 30%),linear-gradient(150deg,#fffdf9,#f4e5dc)}
.gate-card{width:min(560px,100%);padding:30px;border:1px solid rgba(140,75,57,.16);border-radius:30px;background:rgba(255,253,249,.96);box-shadow:0 28px 80px rgba(84,48,37,.18)}
.gate-logo-plaque,.status-logo-plaque{width:max-content;max-width:100%;padding:14px 18px;border-radius:22px;background:var(--terracotta-dark);box-shadow:0 12px 30px rgba(84,48,37,.2)}.gate-logo-plaque img,.status-logo-plaque img{display:block;width:138px;height:auto;filter:brightness(1.15)}
.gate-language{display:flex;gap:7px;justify-content:flex-end;margin:-48px 0 25px 165px}.gate-language a{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:11px;font-weight:900;text-decoration:none}.gate-language a.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.gate-language img{width:19px;height:13px;object-fit:cover;border-radius:2px}
.gate-card h1{margin:7px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,7vw,52px);line-height:1;color:var(--terracotta-dark);letter-spacing:-.035em}.gate-lead{margin:0 0 22px;color:var(--muted);line-height:1.6}.gate-form{display:grid;gap:13px}.gate-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:900}.gate-form input[type=text],.gate-form input[type=email],.gate-form input[type=tel]{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none}.gate-form input:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(217,119,87,.12)}.gate-consent{grid-template-columns:auto 1fr!important;align-items:flex-start;font-weight:600!important;line-height:1.45!important}.gate-consent input{width:18px;height:18px;margin-top:1px}.gate-submit{min-height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--terracotta),var(--terracotta-dark));color:#fff;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 26px rgba(140,75,57,.22)}.gate-submit span{transition:transform .2s ease}.gate-submit:hover span{transform:translateX(4px)}.gate-fine{margin:14px 0 0;text-align:center;color:var(--muted);font-size:10.5px;line-height:1.5}.gate-error{margin:0 0 14px;padding:11px 12px;border-radius:12px;background:#f9e7e3;color:#873d35;font-size:12px;font-weight:800}
.ordering-profile-chip{grid-column:3;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(140,75,57,.12);border-radius:16px;background:rgba(255,255,255,.68);min-width:0}.ordering-profile-chip>span{font-size:18px}.ordering-profile-chip>div{display:grid;min-width:0}.ordering-profile-chip small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900}.ordering-profile-chip strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.ordering-profile-chip form{margin:0}.ordering-profile-chip button{border:0;background:transparent;color:var(--terracotta-dark);font-size:9px;text-decoration:underline;cursor:pointer;padding:3px}
.checkout-overlay{place-items:center}.checkout-modal{position:relative;width:min(510px,100%);padding:28px;border-radius:28px;background:var(--paper);box-shadow:0 30px 80px rgba(40,24,20,.34);animation:rise .22s ease}.checkout-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#f7eadf;font-size:28px;margin-bottom:14px}.checkout-modal h2{font-family:Georgia,"Times New Roman",serif;color:var(--terracotta-dark);font-size:31px;margin:6px 0 8px}.checkout-copy{color:var(--muted);font-size:13px;line-height:1.55}.checkout-note-label{display:grid;gap:7px;margin:18px 0 12px;color:var(--ink);font-size:11px;font-weight:900}.checkout-note-label textarea{width:100%;resize:vertical;min-height:88px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;outline:none}.checkout-note-label textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(217,119,87,.1)}.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.checkout-total strong{font-size:20px;color:var(--terracotta-dark)}.order-error{margin-top:12px;padding:10px 11px;border-radius:11px;background:#f9e5e2;color:#873d35;font-size:11px;font-weight:800}.primary-btn:disabled{opacity:.48;cursor:not-allowed}
.order-status-page{min-height:100vh;background:linear-gradient(180deg,#f3e4da,#faf7f2 34%);padding:0}.status-shell{width:min(720px,100%);margin:auto;padding:28px 18px 70px}.status-logo-plaque{margin-bottom:24px}.status-shell>h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,7vw,52px);line-height:1;color:var(--terracotta-dark);margin:7px 0 12px}.status-number{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:900;color:var(--muted);margin-bottom:18px}.status-hero{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(84,48,37,.09)}.status-hero-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#f4e8dd;font-size:27px}.status-hero-icon:before{content:'⏳'}.status-hero.status-accepted .status-hero-icon:before{content:'✓'}.status-hero.status-preparing .status-hero-icon:before{content:'👩‍🍳'}.status-hero.status-ready .status-hero-icon:before{content:'🛍️'}.status-hero.status-completed .status-hero-icon:before{content:'✅'}.status-hero.status-cancelled .status-hero-icon:before{content:'×'}.status-hero.status-ready{border-color:#9bc5ad;background:#f6fff9}.status-hero.status-cancelled{border-color:#dfb8b0;background:#fff7f5}.status-hero small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.status-hero h2{margin:4px 0 4px;font-size:20px}.status-hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.status-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:24px 0}.status-step{position:relative;text-align:center;color:#9b8f89;font-size:9px;font-weight:800;padding-top:28px}.status-step:before{content:'';position:absolute;top:9px;left:0;right:0;height:2px;background:#e5d9d1}.status-step:first-child:before{left:50%}.status-step:last-child:before{right:50%}.status-step i{position:absolute;z-index:2;top:3px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:#e5d9d1;border:3px solid var(--cream)}.status-step.done,.status-step.current{color:var(--terracotta-dark)}.status-step.done:before,.status-step.current:before{background:var(--terracotta)}.status-step.done i,.status-step.current i{background:var(--terracotta)}.status-step.current i{box-shadow:0 0 0 5px rgba(217,119,87,.15)}.status-timeline.is-cancelled{opacity:.45}.status-order-card{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(84,48,37,.07)}.status-order-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:12px}.status-order-title h2{font-family:Georgia,"Times New Roman",serif;color:var(--terracotta-dark);margin:0}.status-order-title span{font-size:11px;color:var(--muted)}.status-order-items{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.status-order-items>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.status-order-items b{color:var(--terracotta-dark)}.status-note{margin-top:12px;padding:11px 12px;border-radius:12px;background:#fff4dc;color:#654b2a;font-size:11px;line-height:1.45}.status-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}.status-total span{font-size:11px;color:var(--muted)}.status-total strong{font-size:21px;color:var(--terracotta-dark)}.status-back{display:flex;justify-content:center;margin-top:16px;color:var(--terracotta-dark);font-size:12px;font-weight:900}
@media(max-width:850px){.ordering-profile-chip{grid-column:1/-1;grid-row:3;justify-self:start}.checkout-overlay{place-items:end center}.checkout-modal{border-radius:28px 28px 0 0}}
@media(max-width:560px){.menu-gate{padding:12px}.gate-card{padding:22px 18px;border-radius:24px}.gate-logo-plaque img{width:112px}.gate-language{margin:-42px 0 22px 135px}.status-timeline{overflow-x:auto;grid-template-columns:repeat(5,minmax(90px,1fr));padding-bottom:5px}.status-shell{padding-left:12px;padding-right:12px}.status-hero{grid-template-columns:1fr}.status-hero-icon{width:50px;height:50px}.ordering-profile-chip{width:100%}.ordering-profile-chip>div{flex:1}.ordering-profile-chip strong{max-width:none}}

/* v0.2.1 — live order tracker + customer alerts */
.active-order-tracker{position:relative;z-index:19;background:linear-gradient(135deg,#fff8f3 0%,#f6e6dc 100%);border-bottom:1px solid rgba(140,75,57,.13);box-shadow:0 10px 30px rgba(84,48,37,.06)}
.active-order-tracker-inner{max-width:1220px;margin:auto;padding:13px clamp(18px,4vw,48px);display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}
.active-order-orb{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#fff;color:#d97757;box-shadow:0 5px 16px rgba(84,48,37,.12);font-size:10px;animation:rjOrderPulse 1.8s ease-in-out infinite}
.active-order-copy small{display:block;color:#d97757;font-size:9px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;margin-bottom:3px}.active-order-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.active-order-heading strong{font-size:15px;color:#8c4b39}.active-order-heading span{font-size:12px;font-weight:900;color:#342a27}.active-order-copy p{margin:3px 0 0;color:#746966;font-size:10.5px;line-height:1.4}.active-order-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.active-order-track,.order-alert-button{min-height:38px;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;white-space:nowrap}.active-order-track{background:#8c4b39;color:#fff;border:1px solid #8c4b39}.order-alert-button{border:1px solid rgba(140,75,57,.28);background:#fff;color:#8c4b39}.order-alert-button.is-enabled{background:#f3e2d7}.order-alert-button.is-blocked{opacity:.6;cursor:not-allowed}.tracker-ready .active-order-orb{color:#2d8b57;background:#eefaf3}.tracker-ready .active-order-heading span{color:#27774b}.tracker-completed .active-order-orb{animation:none;color:#28734a}.tracker-cancelled .active-order-orb{animation:none;color:#a54545}.tracker-cancelled .active-order-heading span{color:#a54545}
.status-alert-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 18px;padding:14px 15px;border:1px solid rgba(140,75,57,.16);border-radius:18px;background:#fffdf9;box-shadow:0 8px 22px rgba(84,48,37,.06)}.status-alert-card strong{font-size:13px;color:#8c4b39}.status-alert-card p{margin:4px 0 0;color:#746966;font-size:10.5px;line-height:1.45}.status-alert-card .order-alert-button{flex:0 0 auto}
.live-order-toast{position:fixed;z-index:100;left:50%;top:max(16px,env(safe-area-inset-top));width:min(520px,calc(100vw - 28px));transform:translate(-50%,-18px) scale(.98);opacity:0;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 13px;border-radius:18px;background:#fff;color:#342a27;border:1px solid rgba(140,75,57,.14);box-shadow:0 20px 55px rgba(44,31,27,.22);transition:transform .22s ease,opacity .22s ease}.live-order-toast.is-visible{transform:translate(-50%,0) scale(1);opacity:1}.live-order-toast-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f5e4da}.live-order-toast strong{display:block;color:#8c4b39;font-size:12px}.live-order-toast div span{display:block;color:#746966;font-size:11px;margin-top:2px}.live-order-toast button{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#746966;font-size:20px;cursor:pointer}.live-order-toast.status-ready{border-color:rgba(45,139,87,.28);box-shadow:0 20px 55px rgba(45,139,87,.15)}.live-order-toast.status-ready .live-order-toast-icon{background:#e8f7ee}.live-order-toast.status-cancelled{border-color:rgba(165,69,69,.25)}
@keyframes rjOrderPulse{0%,100%{transform:scale(1);box-shadow:0 5px 16px rgba(84,48,37,.12)}50%{transform:scale(1.08);box-shadow:0 5px 20px rgba(217,119,87,.24)}}
@media(max-width:720px){.active-order-tracker-inner{grid-template-columns:auto 1fr;gap:10px;padding:12px 14px}.active-order-actions{grid-column:1/-1;justify-content:stretch}.active-order-track,.order-alert-button{flex:1}.active-order-copy p{font-size:10px}.status-alert-card{align-items:stretch;flex-direction:column}.status-alert-card .order-alert-button{width:100%}}
@media(prefers-reduced-motion:reduce){.active-order-orb{animation:none!important}.live-order-toast{transition:none!important}}

/* ==========================================================================\n   Romeo & Juliet Menu v0.2.2 — Soft Registration Gate + animated overlays\n   ========================================================================== */
.guest-order-chip{grid-column:3;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(140,75,57,.15);border-radius:16px;background:rgba(255,255,255,.78);color:var(--ink);box-shadow:0 6px 18px rgba(84,48,37,.06);cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.guest-order-chip:hover{transform:translateY(-2px);border-color:rgba(217,119,87,.5);box-shadow:0 11px 24px rgba(84,48,37,.12)}
.guest-order-chip>span{font-size:18px}.guest-order-chip>div{display:grid;min-width:0}.guest-order-chip small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900}.guest-order-chip strong{font-size:11px;color:var(--terracotta-dark)}.guest-order-chip>b{color:var(--terracotta);font-size:16px;transition:transform .2s ease}.guest-order-chip:hover>b{transform:translateX(3px)}

/* All dialog flows now animate both IN and OUT. */
.overlay{opacity:0;transition:opacity .23s ease}
.overlay.is-open{opacity:1}
.overlay.is-closing{opacity:0;pointer-events:none}
.overlay .item-modal,.overlay .checkout-modal,.overlay .profile-gate-modal{opacity:0;transform:translateY(18px) scale(.975);transition:opacity .23s ease,transform .23s cubic-bezier(.2,.8,.2,1);animation:none}
.overlay.is-open .item-modal,.overlay.is-open .checkout-modal,.overlay.is-open .profile-gate-modal{opacity:1;transform:translateY(0) scale(1)}
.overlay.is-closing .item-modal,.overlay.is-closing .checkout-modal,.overlay.is-closing .profile-gate-modal{opacity:0;transform:translateY(12px) scale(.985)}
.drawer-overlay .list-drawer{opacity:0;transform:translateX(34px);transition:opacity .23s ease,transform .23s cubic-bezier(.2,.8,.2,1);animation:none}
.drawer-overlay.is-open .list-drawer{opacity:1;transform:translateX(0)}
.drawer-overlay.is-closing .list-drawer{opacity:0;transform:translateX(30px)}

.profile-gate-overlay{z-index:82;place-items:center;background:rgba(44,31,27,.66);backdrop-filter:blur(11px)}
.profile-gate-modal{position:relative;width:min(535px,100%);max-height:min(92vh,780px);overflow:auto;padding:30px;border:1px solid rgba(140,75,57,.14);border-radius:30px;background:linear-gradient(155deg,#fffdf9 0%,#fffaf6 100%);box-shadow:0 34px 95px rgba(40,24,20,.38)}
.profile-gate-modal .eyebrow{text-align:center;margin-top:4px}
.profile-gate-modal h2{margin:7px auto 8px;max-width:430px;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,6vw,45px);line-height:1.02;letter-spacing:-.035em;color:var(--terracotta-dark)}
.profile-gate-lead{margin:0 auto 21px;text-align:center;color:var(--muted);font-size:14px;line-height:1.55}
.profile-gate-visual{position:relative;width:74px;height:74px;margin:0 auto 14px;display:grid;place-items:center;border-radius:25px;background:linear-gradient(145deg,rgba(217,119,87,.17),rgba(140,75,57,.08));box-shadow:inset 0 0 0 1px rgba(140,75,57,.08)}
.profile-gate-icon{font-size:34px;filter:drop-shadow(0 5px 8px rgba(84,48,37,.13));animation:rjProfileFloat 2.6s ease-in-out infinite}
.profile-gate-spark{position:absolute;color:var(--terracotta);font-size:15px;animation:rjProfileSpark 1.8s ease-in-out infinite}.spark-one{right:-3px;top:4px}.spark-two{left:2px;bottom:5px;animation-delay:.7s;font-size:10px}
.profile-gate-modal .gate-form{gap:11px}
.profile-gate-modal .gate-submit{margin-top:2px}
.profile-gate-later{display:block;width:100%;margin:11px 0 0;padding:8px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.profile-gate-later:hover{color:var(--terracotta-dark)}
.profile-gate-modal .gate-fine{margin-top:8px}
.profile-gate-modal .gate-error{margin:0 0 13px}

@keyframes rjProfileFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes rjProfileSpark{0%,100%{transform:scale(.75) rotate(0);opacity:.35}50%{transform:scale(1.18) rotate(14deg);opacity:1}}

@media(max-width:850px){.guest-order-chip{grid-column:1/-1;grid-row:3;justify-self:start}}
@media(max-width:560px){.guest-order-chip{width:100%}.guest-order-chip>div{flex:1}.profile-gate-overlay{place-items:end center;padding:0}.profile-gate-modal{width:100%;max-height:91vh;padding:25px 18px max(22px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.profile-gate-modal h2{font-size:34px}.profile-gate-visual{width:64px;height:64px;border-radius:22px;margin-bottom:12px}.profile-gate-icon{font-size:30px}.overlay .profile-gate-modal{transform:translateY(38px) scale(1)}.overlay.is-open .profile-gate-modal{transform:translateY(0) scale(1)}.overlay.is-closing .profile-gate-modal{transform:translateY(28px) scale(1)}}

/* v0.2.3 — full public journey i18n */
.status-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.status-topbar .status-logo-plaque{margin-bottom:0}.status-language-switch{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 8px 24px rgba(84,48,37,.07)}.status-language-option{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 9px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:10px;font-weight:900;transition:background .18s ease,color .18s ease,transform .18s ease}.status-language-option:hover{transform:translateY(-1px);background:#f6ece5;color:var(--terracotta-dark)}.status-language-option.is-active{background:var(--terracotta-dark);color:#fff}.status-language-option img{width:20px;height:14px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.07)}.status-note strong{color:#654b2a}.order-status-page .status-language-switch{position:relative;z-index:4}@media(max-width:560px){.status-topbar{align-items:center}.status-language-switch{gap:4px;padding:4px}.status-language-option{padding:6px 7px}.status-language-option span{display:none}.status-language-option img{width:24px;height:17px}}

/* v0.2.7 — contact footer */
.menu-footer-contact,.status-contact-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:10px auto 0;max-width:820px;color:var(--muted);font-size:11px;line-height:1.5}.menu-footer-contact a,.status-contact-footer a{color:inherit;text-decoration:none}.menu-footer-contact strong,.status-contact-footer strong{color:var(--terracotta-dark)}.status-contact-footer{padding:18px 0 8px;border-top:1px solid var(--line);margin-top:22px}
@media(max-width:560px){.menu-footer-contact,.status-contact-footer{display:grid;gap:5px;font-size:10.5px}.status-contact-footer{text-align:center}}

/* ==========================================================================\n   Romeo & Juliet v0.3.0 — Secure checkout / per-item notes / fulfillment\n   ========================================================================== */
.list-row-with-note{border-bottom:1px solid var(--line);padding-bottom:10px}.list-row-with-note .list-row{border-bottom:0;padding-bottom:5px}.item-kitchen-note{display:grid;gap:5px;margin:0 0 4px 76px}.item-kitchen-note span{font-size:10px;font-weight:900;color:var(--terracotta-dark);letter-spacing:.02em}.item-kitchen-note textarea{width:100%;resize:vertical;min-height:54px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px;color:var(--ink);font-size:11px;outline:none}.item-kitchen-note textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(217,119,87,.11)}
.secure-order-note{margin-bottom:4px}.list-only-instruction{display:flex;gap:10px;align-items:flex-start;margin:13px 0 5px;padding:12px;border:1px dashed rgba(140,75,57,.25);border-radius:15px;background:#fff9f4;text-align:left}.list-only-instruction>span{font-size:22px}.list-only-instruction strong{display:block;color:var(--terracotta-dark);font-size:12px}.list-only-instruction p{margin:3px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}
.secure-checkout-modal{width:min(720px,100%);max-height:92vh;overflow:auto;padding:24px;background:var(--paper);border-radius:30px}.secure-checkout-modal>.eyebrow,.secure-checkout-modal>h2,.secure-checkout-modal>.checkout-copy{text-align:center}.secure-checkout-modal>h2{font-family:Georgia,"Times New Roman",serif;color:var(--terracotta-dark);font-size:clamp(29px,4vw,39px);margin:5px 0}.checkout-step{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff}.checkout-step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.checkout-step-head>b{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--terracotta-dark);color:#fff;font-size:12px}.checkout-step-head>div{display:grid;gap:1px}.checkout-step-head strong{font-size:13px}.checkout-step-head small{font-size:10px;color:var(--muted)}
.fulfillment-choice-grid,.payment-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.payment-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fulfillment-choice,.payment-choice{position:relative;min-height:120px;padding:13px 10px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;cursor:pointer;transition:.18s ease}.fulfillment-choice input,.payment-choice input{position:absolute;opacity:0;pointer-events:none}.choice-icon{font-size:28px}.fulfillment-choice b,.payment-choice b{font-size:12px;color:var(--ink)}.fulfillment-choice small,.payment-choice small{font-size:9.5px;color:var(--muted);line-height:1.35}.fulfillment-choice:has(input:checked),.payment-choice:has(input:checked){border-color:var(--terracotta);background:#fff6f0;box-shadow:0 0 0 3px rgba(217,119,87,.12)}.fulfillment-choice:has(input:checked)::after,.payment-choice:has(input:checked)::after{content:'✓';position:absolute;right:8px;top:8px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--terracotta-dark);color:#fff;font-size:11px;font-weight:900}.payment-choice.is-disabled{opacity:.48;cursor:not-allowed;background:#f6f3f1}.payment-choice em{display:inline-flex;margin-left:3px;padding:2px 5px;border-radius:999px;background:#eee;color:#777;font-size:7px;font-style:normal;text-transform:uppercase}
.table-picker{margin-top:13px;padding:13px;border-radius:17px;background:#f9f4ef;border:1px solid rgba(140,75,57,.12)}.table-picker-head{display:grid;gap:2px;margin-bottom:10px}.table-picker-head strong{font-size:12px;color:var(--terracotta-dark)}.table-picker-head small{font-size:10px;color:var(--muted)}.guest-table-layout{position:relative;height:300px;border:1px dashed rgba(140,75,57,.23);border-radius:16px;background:linear-gradient(90deg,rgba(140,75,57,.025) 1px,transparent 1px),linear-gradient(rgba(140,75,57,.025) 1px,transparent 1px),#fff;background-size:28px 28px;overflow:hidden}.guest-table{position:absolute;display:grid;place-items:center;cursor:pointer;min-width:48px;min-height:46px}.guest-table input{position:absolute;opacity:0}.guest-table span{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #d9c7bc;background:#fff;border-radius:14px;box-shadow:0 5px 14px rgba(84,48,37,.08);transition:.16s ease}.guest-table.shape-round span{border-radius:50%}.guest-table.shape-rectangle span{border-radius:10px}.guest-table b{color:var(--terracotta-dark);font-size:14px}.guest-table small{max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:7px}.guest-table:has(input:checked) span{background:var(--terracotta);border-color:var(--terracotta-dark);color:#fff;transform:scale(1.05);box-shadow:0 9px 22px rgba(140,75,57,.22)}.guest-table:has(input:checked) b,.guest-table:has(input:checked) small{color:#fff}
.fulfillment-note-wrap{margin-top:12px}.fulfillment-note-wrap input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;outline:none}.counter-payment-warning{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(177,112,31,.26);border-radius:16px;background:#fff8e9}.counter-payment-warning>span{font-size:25px}.counter-payment-warning strong{font-size:12px;color:#7b4d15}.counter-payment-warning p{margin:3px 0 0;font-size:10.5px;line-height:1.45;color:#725c42}.checkout-review-step .checkout-note-label{display:grid;gap:6px}.checkout-review-step textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:10px;resize:vertical;outline:none}.checkout-review-step .checkout-total{margin-top:10px}.menu-mode-banner{position:fixed;z-index:24;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:9px;width:min(520px,calc(100vw - 24px));padding:10px 13px;border-radius:18px;background:rgba(255,253,249,.95);backdrop-filter:blur(14px);border:1px solid rgba(140,75,57,.16);box-shadow:0 12px 30px rgba(84,48,37,.16)}.menu-mode-banner>span{font-size:23px}.menu-mode-banner div{display:grid}.menu-mode-banner strong{font-size:11px;color:var(--terracotta-dark)}.menu-mode-banner small{font-size:9.5px;color:var(--muted)}
@media(max-width:700px){.secure-checkout-modal{width:100%;max-height:94vh;border-radius:26px 26px 0 0;padding:20px 14px max(20px,env(safe-area-inset-bottom))}.fulfillment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-choice-grid{grid-template-columns:1fr}.payment-choice{min-height:86px;display:grid;grid-template-columns:auto 1fr;text-align:left;justify-items:start}.payment-choice small,.payment-choice b{grid-column:2}.choice-icon{grid-row:1/3}.guest-table-layout{height:340px}.item-kitchen-note{margin-left:0}.list-row-with-note .list-row{grid-template-columns:56px 1fr auto}.list-row-with-note .list-row img{width:56px;height:52px}}
.status-item-note{display:block;margin:4px 0 0 0;color:var(--terracotta-dark);font-size:10px;font-weight:700;line-height:1.35}.status-order-items>div>span{min-width:0}.status-order-items>div{align-items:flex-start}

/* v0.3.0c — structured live status rendering */
.status-hero-copy{min-width:0}.status-copy{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.55}.status-copy span{display:block}.status-payment-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;vertical-align:middle}.status-payment-badge.is-pending{background:#fff1d4;color:#7c5618}.status-payment-badge.is-paid{background:#e8f6ed;color:#276344}.status-hero.is-status-updating{animation:statusUpdatePulse .62s ease}.status-hero.status-accepted{border-color:#b9d7c3;background:#f7fff9}.status-hero.status-preparing{border-color:#e8cfac;background:#fffaf3}.status-hero.status-completed{border-color:#b8d5c3;background:#f4fbf6}@keyframes statusUpdatePulse{0%{transform:scale(.985);box-shadow:0 0 0 rgba(84,48,37,0)}45%{transform:scale(1.008);box-shadow:0 16px 38px rgba(84,48,37,.14)}100%{transform:scale(1);box-shadow:0 14px 34px rgba(84,48,37,.09)}}@media(prefers-reduced-motion:reduce){.status-hero.is-status-updating{animation:none}}

/* ==========================================================================
   Romeo & Juliet v0.3.0f — customer order toast / snackbar hardening
   ========================================================================== */
.order-status-page .live-order-toast{
  position:fixed!important;
  z-index:2147483000!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important;
  width:min(520px,calc(100vw - 32px))!important;
  max-width:520px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  transform:translate(-50%,18px) scale(.985)!important;
  opacity:0!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 34px!important;
  gap:12px!important;
  align-items:start!important;
  padding:13px 13px!important;
  margin:0!important;
  border-radius:18px!important;
  background:rgba(255,253,249,.985)!important;
  color:#342a27!important;
  border:1px solid rgba(140,75,57,.18)!important;
  box-shadow:0 18px 46px rgba(44,31,27,.24)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important;
}
.order-status-page .live-order-toast.is-visible{
  transform:translate(-50%,0) scale(1)!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.order-status-page .live-order-toast[hidden]{display:none!important}
.order-status-page .live-order-toast__icon,
.order-status-page .live-order-toast-icon{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#f5e4da!important;
  color:#8c4b39!important;
  font:700 18px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  margin:0!important;
  padding:0!important;
}
.order-status-page .live-order-toast__body{
  min-width:0!important;
  width:100%!important;
  display:block!important;
  padding:1px 0 0!important;
  margin:0!important;
  overflow:hidden!important;
}
.order-status-page .live-order-toast__title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#8c4b39!important;
  font:800 13px/1.25 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.order-status-page .live-order-toast__message{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  width:100%!important;
  max-width:100%!important;
  margin:4px 0 0!important;
  padding:0!important;
  color:#746966!important;
  font:500 12px/1.38 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.order-status-page .live-order-toast__close{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  display:grid!important;
  place-items:center!important;
  align-self:start!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#746966!important;
  font:500 22px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  margin:-2px -2px 0 0!important;
  padding:0!important;
  cursor:pointer!important;
}
.order-status-page .live-order-toast__close:hover{background:rgba(140,75,57,.08)!important;color:#8c4b39!important}
.order-status-page .live-order-toast.status-ready{border-color:rgba(45,139,87,.3)!important;box-shadow:0 18px 46px rgba(45,139,87,.18)!important}
.order-status-page .live-order-toast.status-ready .live-order-toast__icon{background:#e8f7ee!important;color:#27774b!important}
.order-status-page .live-order-toast.status-cancelled{border-color:rgba(165,69,69,.28)!important}
.order-status-page .live-order-toast.status-cancelled .live-order-toast__icon{background:#fff0ed!important;color:#a54545!important}
.order-status-page .live-order-toast.status-preparing .live-order-toast__icon{background:#fff4dd!important}

@media(max-width:560px){
  .order-status-page .live-order-toast{
    bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important;
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    grid-template-columns:36px minmax(0,1fr) 30px!important;
    gap:9px!important;
    padding:11px!important;
    border-radius:16px!important;
  }
  .order-status-page .live-order-toast__icon,
  .order-status-page .live-order-toast-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:11px!important;
    font-size:16px!important;
  }
  .order-status-page .live-order-toast__title{font-size:12.5px!important;line-height:1.25!important}
  .order-status-page .live-order-toast__message{font-size:11.5px!important;line-height:1.35!important;margin-top:3px!important;-webkit-line-clamp:2!important}
  .order-status-page .live-order-toast__close{width:28px!important;height:28px!important;min-width:28px!important;font-size:20px!important}
}
@media(prefers-reduced-motion:reduce){
  .order-status-page .live-order-toast{transition:none!important}
}

/* v0.4.0 — Secure online payment page */
.payment-page{min-height:100vh;background:linear-gradient(145deg,#fbf5ef,#f2e6dc)}.payment-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:32px 0 70px}.payment-logo-plaque{width:170px;margin:0 auto 18px;background:#8c4b39;border-radius:22px;padding:12px 18px}.payment-logo-plaque img{display:block;width:100%;height:auto}.payment-card{background:#fffdf9;border:1px solid #eadfd8;border-radius:26px;padding:clamp(20px,4vw,34px);box-shadow:0 22px 70px rgba(84,48,37,.13)}.payment-card h1{font-family:Georgia,"Times New Roman",serif;color:#8c4b39;font-size:clamp(32px,6vw,52px);margin:6px 0 10px}.payment-intro{color:#746966;line-height:1.6}.payment-order-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.payment-order-summary>div{border:1px solid #eadfd8;border-radius:14px;padding:12px;background:#faf7f2}.payment-order-summary small{display:block;color:#746966;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.payment-order-summary strong{display:block;margin-top:4px}.payment-loading,.payment-error-box{padding:16px;border-radius:14px;margin:16px 0}.payment-loading{background:#f5f0ec}.payment-error-box{background:#fff0ef;color:#94382d;border:1px solid #ebaaa1}.spoton-frame-wrap{overflow:hidden;border:1px solid #eadfd8;border-radius:16px;min-height:520px;background:#fff}.spoton-frame-wrap iframe{width:100%;min-height:520px;border:0;display:block}.payment-back{margin-top:14px}.payment-page #stripePaymentElement{padding:8px 0 4px}.payment-page #paymentSubmit{margin-top:18px}
@media(max-width:560px){.payment-shell{width:min(100% - 18px,760px);padding-top:18px}.payment-card{border-radius:22px;padding:19px}.payment-order-summary{grid-template-columns:1fr}.spoton-frame-wrap,.spoton-frame-wrap iframe{min-height:600px}}
/* v0.4.0a — customer payment certainty + retry */
.payment-assurance{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(84,48,37,.06)}
.payment-assurance-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;font-weight:900;background:#fff2df;color:#8a5d12}.payment-assurance-verified{border-color:#9bc8aa;background:#f4fbf6}.payment-assurance-verified .payment-assurance-icon{background:#dff2e5;color:#286541}.payment-assurance-failed{border-color:#e6aaa3;background:#fff7f6}.payment-assurance-failed .payment-assurance-icon{background:#f8dedb;color:#9d332c}.payment-assurance-review{border-color:#e3b978;background:#fff9ee}.payment-assurance-processing{border-color:#d9c58b;background:#fffaf0}
.payment-assurance-main h3{margin:3px 0 6px;color:var(--terracotta-dark);font-size:18px}.payment-assurance-main>p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.55}.payment-assurance-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}.payment-assurance-details>div{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72)}.payment-assurance-details dt{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.payment-assurance-details dd{margin:3px 0 0;font-size:11px;font-weight:900;overflow-wrap:anywhere}.payment-assurance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.payment-assurance-actions .primary-btn,.payment-assurance-actions .secondary-btn{width:auto;min-height:42px;margin:0;padding:9px 13px}.status-payment-check{background:#fff}.payment-no-retry{display:inline-flex;align-items:center;padding:9px 11px;border-radius:12px;background:#e8f7ed;color:#286541;font-size:11px}.payment-check-result{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f5f1ed;color:var(--ink);font-size:11px;line-height:1.45}
@media(max-width:560px){.payment-assurance{grid-template-columns:42px minmax(0,1fr);padding:13px;gap:10px}.payment-assurance-icon{width:42px;height:42px;border-radius:13px;font-size:20px}.payment-assurance-details{grid-template-columns:1fr}.payment-assurance-actions{display:grid}.payment-assurance-actions .primary-btn,.payment-assurance-actions .secondary-btn{width:100%}}
