:root{--fn-orange:#e9582a;--fn-ink:#20201f;--fn-muted:#77736f;--fn-line:#ece9e6;--fn-bg:#faf8f6}.foodnow-app,.foodnow-app *{box-sizing:border-box}.foodnow-app{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--fn-ink);background:#fff;min-height:100vh;min-height:100dvh;width:100%;margin:0 auto;line-height:1.45}.foodnow-app button,.foodnow-app input{font:inherit}.foodnow-app button{cursor:pointer}.fn-header{position:sticky;z-index:5;top:0;background:#fff;border-bottom:1px solid var(--fn-line);height:76px;padding:0 clamp(16px,5vw,64px);display:flex;gap:24px;align-items:center}.fn-brand{font-size:25px;font-weight:900;color:var(--fn-orange);text-decoration:none;white-space:nowrap;letter-spacing:-1px;display:flex;align-items:center;gap:8px;min-width:0;max-width:min(38vw,360px);overflow:hidden}.fn-brand-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fn-orange)}.fn-brand img{display:block;flex:0 0 auto;max-width:120px;width:auto;height:auto;max-height:42px;object-fit:contain}.fn-search{max-width:520px;flex:1;margin:auto}.fn-search input{width:100%;height:46px;border:1px solid #e8e4e1;background:#f8f7f5;border-radius:14px;padding:0 17px;outline:none}.fn-search input:focus,.fn-checkout-form input:focus{border-color:var(--fn-orange);box-shadow:0 0 0 3px #e9582a16}.fn-cart-btn,.fn-hero button,.fn-submit{border:0;background:var(--fn-orange);color:white;font-weight:750;border-radius:13px;padding:13px 19px}.fn-cart-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.fn-cart-icon{display:block;width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fn-cart-btn b{background:#fff;color:var(--fn-orange);border-radius:20px;padding:2px 7px;margin-left:7px}.fn-hero{margin:28px clamp(16px,5vw,64px);padding:clamp(24px,5vw,58px);border-radius:28px;background:linear-gradient(115deg,#fff3ec,#ffe1d1);display:flex;justify-content:space-between;align-items:center;min-height:260px;overflow:hidden}.fn-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:-1.5px;max-width:680px;margin:12px 0}.fn-hero p{color:#726c67;max-width:560px;margin:0 0 23px}.fn-hero-art{font-size:clamp(80px,12vw,150px);padding:0 4vw;filter:drop-shadow(0 15px 10px #9b3f2020)}.fn-kicker{font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--fn-orange)}.fn-main{padding:10px clamp(16px,5vw,64px) 70px}.fn-section-head{display:flex;align-items:end;justify-content:space-between;margin:24px 0 16px}.fn-section-head h2{font-size:27px;letter-spacing:-.5px;margin:4px 0 0}.fn-section-head>span{color:var(--fn-muted);font-size:14px}.fn-categories{display:flex;gap:9px;overflow-x:auto;padding:0 0 8px;margin-bottom:18px;scrollbar-width:thin}.fn-cat{border:1px solid var(--fn-line);background:white;color:#4d4946;border-radius:999px;padding:10px 17px;white-space:nowrap}.fn-cat.active{background:var(--fn-ink);border-color:var(--fn-ink);color:#fff}.fn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fn-card{border:1px solid var(--fn-line);border-radius:19px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}.fn-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #25201c0d}.fn-food-img{height:175px;background:#fff4ed;display:flex;align-items:center;justify-content:center;font-size:75px;overflow:hidden}.fn-food-img img{width:100%;height:100%;object-fit:cover}.fn-card-body{padding:15px}.fn-card h3{margin:0 0 5px;font-size:17px;line-height:1.3}.fn-desc{color:var(--fn-muted);font-size:13px;min-height:37px}.fn-price{font-weight:850;color:var(--fn-orange);font-size:18px;margin:12px 0}.fn-add{background:#242321;color:white;border:0;border-radius:11px;width:100%;padding:11px;font-weight:700}.fn-add:hover{background:var(--fn-orange)}.fn-loading,.fn-empty{text-align:center;color:var(--fn-muted);padding:50px 10px;grid-column:1/-1}.fn-overlay{position:fixed;z-index:20;inset:0;background:#17141180;display:none}.fn-overlay.show{display:block}.fn-drawer{background:#fff;position:absolute;right:0;top:0;height:100%;height:100dvh;width:min(480px,100%);padding:24px;overflow-y:auto;box-shadow:-12px 0 45px #0002}.fn-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--fn-line);padding-bottom:17px}.fn-drawer-head h2{margin:3px 0 0;font-size:25px}.fn-close{width:39px;height:39px;border:0;border-radius:12px;background:#f2f0ed;font-size:25px;line-height:1}.fn-cart-line{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--fn-line)}.fn-cart-img{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;background:#fff2e9;font-size:28px;object-fit:cover}.fn-cart-copy{flex:1;min-width:0}.fn-cart-copy strong{display:block}.fn-cart-copy small{color:var(--fn-muted)}.fn-qty{display:flex;align-items:center;gap:9px;margin-top:7px}.fn-qty button{border:0;background:#f1efed;width:27px;height:27px;border-radius:8px;font-size:17px}.fn-line-total{font-weight:750;white-space:nowrap}.fn-empty-cart{text-align:center;color:var(--fn-muted);padding:36px 10px}.fn-checkout-form{padding-top:18px}.fn-checkout-form label{display:block;font-size:13px;font-weight:700;margin:0 0 13px}.fn-checkout-form label em{color:var(--fn-orange);font-style:normal}.fn-checkout-form input{display:block;width:100%;height:43px;border:1px solid #e5e1de;border-radius:10px;padding:0 12px;margin-top:6px;outline:none}.fn-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fn-summary{border-top:1px solid var(--fn-line);padding-top:9px;margin-top:10px}.fn-summary-row{display:flex;justify-content:space-between;padding:5px 0;color:#625d59}.fn-summary-row.fn-grand{font-size:19px;font-weight:850;color:var(--fn-ink);padding-top:10px}.fn-summary-note{font-size:12px;color:var(--fn-muted)}.fn-submit{width:100%;padding:14px;margin-top:9px}.fn-submit:disabled{opacity:.65;cursor:wait}.fn-secure-note{text-align:center;color:#89837e;font-size:11px}.fn-toast{position:fixed;z-index:40;bottom:24px;left:50%;transform:translate(-50%,90px);background:#252321;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;transition:.24s;pointer-events:none}.fn-toast.show{opacity:1;transform:translate(-50%,0)}.fn-modal{position:fixed;z-index:30;inset:0;background:#17141188;display:none;place-items:center;padding:18px}.fn-modal.show{display:grid}.fn-success-card{background:white;border-radius:23px;width:min(440px,100%);padding:30px;position:relative;text-align:center;max-height:92vh;overflow:auto}.fn-success-card>.fn-close{position:absolute;right:17px;top:17px}.fn-success-icon{margin:6px auto 15px;width:56px;height:56px;border-radius:50%;background:#e7f8ec;color:#18883f;display:grid;place-items:center;font-size:30px;font-weight:900}.fn-success-card h2{margin:5px 0}.fn-success-card p{color:var(--fn-muted)}.fn-pay-box{background:#faf8f6;border-radius:15px;padding:15px;margin:18px 0;text-align:left;font-size:13px}.fn-pay-box strong{display:block;margin:4px 0}.fn-pay-box img{display:block;width:165px;height:165px;object-fit:contain;margin:12px auto 3px;background:white;border-radius:9px}.fn-pay-total{font-size:17px!important;font-weight:850;color:var(--fn-orange)!important;text-align:center}@media(max-width:900px){.fn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fn-hero-art{padding:0 1vw}}@media(max-width:650px){.fn-header{height:64px;padding:0 12px;gap:10px}.fn-brand{font-size:20px}.fn-search input{height:40px;padding:0 11px;font-size:13px}.fn-cart-btn{padding:10px 11px;font-size:13px;white-space:nowrap}.fn-hero{margin:15px 12px;padding:24px 20px;min-height:200px;border-radius:20px}.fn-hero h1{font-size:30px}.fn-hero p{font-size:13px;max-width:78%}.fn-hero-art{font-size:60px;margin-right:-15px}.fn-main{padding:0 12px 40px}.fn-section-head h2{font-size:23px}.fn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fn-food-img{height:125px;font-size:56px}.fn-card-body{padding:11px}.fn-card h3{font-size:15px}.fn-desc{font-size:12px;min-height:35px}.fn-price{font-size:16px;margin:9px 0}.fn-add{font-size:12px;padding:10px 6px}.fn-drawer{padding:19px}.fn-form-grid{gap:8px}.fn-success-card{padding:26px 19px}}

/* Full-width shortcode canvas and custom restaurant logo */
.foodnow-app{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}.fn-brand img{display:block;max-width:120px;width:auto;height:auto;max-height:42px;object-fit:contain}

/* Shortcode occupies the entire viewport; theme header/footer/sidebar remain underneath. */
.foodnow-app{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff}
html.fn-fullscreen-active,body.fn-fullscreen-active{overflow:hidden!important;margin:0!important;padding:0!important}

.fn-hero-art img{display:block;max-width:min(32vw,420px);max-height:230px;object-fit:cover;border-radius:20px;filter:drop-shadow(0 15px 10px #9b3f2020)}@media(max-width:650px){.fn-hero-art img{max-width:38vw;max-height:140px}}

.foodnow-app{touch-action:pan-x pan-y}

/* QR welcome splash: restaurant logo and warm animated greeting, once per 10-minute visit window */
.fn-welcome-splash{display:none;position:fixed;inset:0;z-index:1000;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 40%,#fff 0%,#fffaf7 42%,#ffe8dc 100%);opacity:0;pointer-events:auto}
.fn-welcome-splash.show{display:grid;animation:fnSplashFadeIn .45s ease-out forwards}
.fn-welcome-splash::before,.fn-welcome-splash::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}
.fn-welcome-splash::before{width:min(78vw,520px);aspect-ratio:1;background:radial-gradient(circle,#ffb98b55 0%,#ffc9a322 53%,transparent 72%);animation:fnGlowPulse 2.8s ease-in-out infinite alternate}
.fn-welcome-splash::after{width:min(92vw,620px);aspect-ratio:1;border:1px solid #f4a57955;box-shadow:0 0 0 24px #f4a57912,0 0 0 52px #f4a5790c;animation:fnHalo 3.8s ease-out infinite}
.fn-welcome-splash>div{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;padding:28px;animation:fnLogoReveal .85s cubic-bezier(.2,.8,.2,1) both}
.fn-welcome-splash img{display:block;width:min(42vw,180px);height:min(42vw,180px);object-fit:contain;padding:14px;border-radius:34px;background:#fff;box-shadow:0 18px 60px #8a351f25,0 0 0 1px #f1ddd3;animation:fnLogoFloat 2.8s ease-in-out .8s infinite alternate}
.fn-welcome-splash strong{font-size:clamp(25px,6vw,38px);font-weight:900;color:#26211e;letter-spacing:-.8px}
.fn-welcome-splash span{display:block;font-size:clamp(18px,4.4vw,25px);font-weight:850;letter-spacing:1.3px;color:#e9582a;text-shadow:0 4px 18px #e9582a25}
.fn-welcome-splash.hide{opacity:0;transition:opacity .55s ease;pointer-events:none}
@keyframes fnSplashFadeIn{to{opacity:1}}
@keyframes fnLogoReveal{from{opacity:0;transform:translateY(18px) scale(.88);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes fnGlowPulse{from{transform:scale(.92);opacity:.65}to{transform:scale(1.08);opacity:1}}
@keyframes fnHalo{0%{transform:scale(.78);opacity:0}35%{opacity:.8}100%{transform:scale(1.14);opacity:0}}
@keyframes fnLogoFloat{from{transform:translateY(0)}to{transform:translateY(-7px)}}
.fn-checkout-form [hidden]{display:none!important}.fn-checkout-form select{display:block;width:100%;height:43px;border:1px solid #e5e1de;border-radius:10px;padding:0 12px;margin-top:6px;background:#fff}.fn-checkout-form textarea{display:block;width:100%;min-height:65px;border:1px solid #e5e1de;border-radius:10px;padding:10px 12px;margin-top:6px;resize:vertical}.fn-promo-field{margin:8px 0 13px}.fn-promo-field>label{display:block;font-size:13px;font-weight:750;margin:0 0 6px}.fn-promo-row{display:flex;gap:8px;align-items:center}.fn-checkout-form .fn-promo-row input{flex:1;min-width:0;margin:0}.fn-promo-row button{flex:none;border:0;border-radius:10px;background:#272523;color:#fff;font-weight:750;padding:11px 15px}.fn-promo-row button:disabled{opacity:.6}.fn-promo-field small{display:block;min-height:0;margin-top:5px;color:#5f7164;font-size:12px}.fn-summary-row.fn-promo-discount{color:#18804a;font-weight:750}
@media(prefers-reduced-motion:reduce){.fn-welcome-splash.show,.fn-welcome-splash::before,.fn-welcome-splash::after,.fn-welcome-splash>div,.fn-welcome-splash img{animation:none}}
.fn-welcome-splash.hide{animation:fnSplashFadeOut .55s ease forwards}
@keyframes fnSplashFadeOut{to{opacity:0;visibility:hidden}}
#foodnow-app .fn-success-card .fn-customer-thanks{margin:6px 0 12px;color:#e9582a;font-size:18px;font-weight:800}

/* High-contrast green add-to-cart action */
#foodnow-app .fn-add{background:#15803d;color:#fff}#foodnow-app .fn-add:hover{background:#166534;color:#fff}#foodnow-app .fn-add:focus-visible{outline:3px solid #86efac;outline-offset:2px}


/* Mobile header: restrained search treatment and compact cart label. */
.fn-search-icon{display:none}
@media(max-width:650px){
  .fn-header{height:64px;padding:0 10px;gap:8px}
  .fn-brand{font-size:18px;max-width:min(34vw,150px);gap:6px}
  .fn-brand img{max-width:54px;max-height:32px}
  .fn-search{position:relative;flex:1;min-width:0;margin:0}
  .fn-search-icon{display:block;position:absolute;left:11px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none}
  .fn-search-icon svg{display:block;width:100%;height:100%;fill:none;stroke:#756b65;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .fn-search input{height:42px;padding:0 10px 0 36px;font-size:14px;border:1px solid #d7ccc5;border-radius:12px;background:#fffaf7;box-shadow:0 1px 2px #2b211a0c}
  .fn-search input:focus{border-color:var(--fn-orange);background:#fff;box-shadow:0 0 0 3px #e9582a18}
  .fn-cart-btn{padding:8px 9px;font-size:12px;line-height:1.1;white-space:nowrap;border-radius:11px;min-width:56px}
  .fn-cart-label{display:none}
  .fn-cart-label{display:none}
  .fn-cart-btn{gap:4px}
  .fn-cart-btn b{padding:1px 5px;margin-left:0;font-size:11px}
}


/* Keep payment confirmation anchored on phones; only its content scrolls. */
.fn-modal{overscroll-behavior:contain}
@media(max-width:650px){
  #fn-success-modal.fn-proof-active{align-items:stretch;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}
  #fn-success-modal.fn-proof-active .fn-success-card{width:min(440px,100%);height:100%;max-height:none;margin:0 auto;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
  #fn-success-modal.fn-proof-active #fn-payment-proof-actions{position:sticky;bottom:0;z-index:2;margin:14px -4px -4px;padding:12px 4px 6px;background:#fff;box-shadow:0 -8px 16px #ffffffed}
}


/* Explicit, accessible receipt-photo sources: camera or photo library. */
.fn-proof-prompt{display:block;text-align:left;margin:0 0 8px;font-size:13px}
.fn-proof-pickers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fn-proof-source{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin:0!important;padding:8px 6px;border:1px solid #e6d4c9;border-radius:11px;background:#fff9f5;color:#302a27;text-align:center;font-size:12px!important;font-weight:750!important;cursor:pointer}
.fn-proof-source:focus-within{outline:3px solid #e9582a30;border-color:var(--fn-orange)}
.fn-proof-source input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.fn-proof-selected{display:block;margin-top:7px;color:var(--fn-muted);font-size:11px;overflow-wrap:anywhere}


.fn-success-icon.fn-payment-pending{background:#fff2dd;color:#a95e00}
.fn-success-icon.fn-payment-pending svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* Keep the mobile storefront header visible above the welcome intro. */
.fn-welcome-splash{inset:76px 0 0;z-index:4}
@media(max-width:650px){
  .fn-header{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;height:64px;padding:0 8px;gap:6px}
  .fn-brand{width:100%;max-width:none;min-width:0;gap:4px;font-size:clamp(13px,4.6vw,17px);letter-spacing:-.5px}
  .fn-brand img{max-width:40px;max-height:30px}
  .fn-search{width:100%;max-width:none;min-width:0;margin:0}
  .fn-search input{width:100%;min-width:0;height:42px;padding:0 8px 0 34px;font-size:13px}
  .fn-cart-btn{min-width:56px;min-height:44px;flex:none;gap:4px;padding:7px 8px}
  .fn-welcome-splash{inset:64px 0 0}
}
@media(max-width:360px){
  .fn-header{grid-template-columns:minmax(0,30%) minmax(0,1fr) auto;gap:5px;padding:0 6px}
  .fn-brand{font-size:13px;gap:3px}
  .fn-brand img{max-width:32px;max-height:27px}
  .fn-cart-btn{min-width:50px;padding:7px}
  .fn-cart-icon{width:19px;height:19px}
}


/* Optional floating contact actions */
.fn-contact-float{position:fixed;right:15px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:18;display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.fn-contact-btn{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 15px;border:1px solid #ffffff70;border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.1px;box-shadow:0 8px 24px #1d27302b;transition:transform .18s,filter .18s}
.fn-contact-btn:hover,.fn-contact-btn:focus-visible{color:#fff;filter:brightness(1.08);transform:translateY(-2px)}
.fn-contact-messenger{background:linear-gradient(135deg,#1685ff,#0866ff)}.fn-contact-zalo{background:linear-gradient(135deg,#168cff,#0068ff)}.fn-contact-phone{background:linear-gradient(135deg,#22a861,#15803d)}
.fn-contact-icon{display:block;width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fn-contact-messenger .fn-contact-icon path:first-child{fill:#fff;stroke:#fff}.fn-contact-messenger .fn-contact-icon path:last-child{fill:#0866ff;stroke:#0866ff}.fn-contact-zalo .fn-contact-icon path:first-child{fill:#fff;stroke:#fff}.fn-contact-zalo .fn-contact-icon path:last-child{stroke:#0068ff;stroke-width:2.2}
.fn-thank-you-ticker{margin:14px 0;padding:11px 0;overflow:hidden;border:1px solid #ffe1d2;border-radius:12px;background:linear-gradient(100deg,#fff8f3,#fff0e7);color:#dc4e23;font-size:13px;font-weight:850;white-space:nowrap}.fn-thank-you-ticker[hidden]{display:none!important}.fn-thank-you-ticker span{display:inline-block;min-width:max-content;padding-left:100%;animation:fnThankYouScroll 13s linear infinite}@keyframes fnThankYouScroll{to{transform:translateX(-100%)}}
.fn-contact-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}.fn-contact-setting-card{padding:12px;border:1px solid #dcdcde;border-radius:10px;background:#fff}.fn-contact-setting-card .fn-contact-toggle{display:flex;align-items:center;gap:7px;margin:2px 0 12px;font-weight:750}.fn-contact-setting-card .fn-contact-toggle input{margin:0}.fn-contact-setting-card label:not(.fn-contact-toggle){display:block;font-size:12px}.fn-contact-setting-card label:not(.fn-contact-toggle) input{width:100%;margin-top:5px}
@media(max-width:650px){.fn-contact-float{right:10px;bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}.fn-contact-btn{width:48px;height:48px;min-height:48px;padding:0;justify-content:center}.fn-contact-label{display:none}.fn-contact-icon{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.fn-thank-you-ticker span{padding-left:0;min-width:0;white-space:normal;animation:none}.fn-contact-btn{transition:none}}

/* Language picker stays clear of the customer header and checkout controls. */
.fn-language-bar{position:sticky;top:76px;z-index:4;display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:42px;padding:5px clamp(16px,5vw,64px);background:#fff;border-bottom:1px solid var(--fn-line)}
.fn-language-bar label{font-size:12px;font-weight:700;color:#6b625d}
.fn-language-bar select{height:32px;min-width:126px;padding:0 9px;border:1px solid #e1d8d2;border-radius:9px;background:#fff;color:#282421;font:inherit;font-size:12px}
.fn-language-bar select:focus{outline:2px solid #e9582a55;border-color:var(--fn-orange)}
@media(max-width:650px){.fn-language-bar{top:64px;min-height:38px;padding:4px 12px}.fn-language-bar select{min-width:120px;height:30px}}


/* Refined, accessible language picker */
.fn-language-bar{min-height:46px;gap:12px;padding:6px clamp(16px,5vw,64px);background:linear-gradient(90deg,#fff 0%,#fffaf7 50%,#fff 100%);border-bottom:1px solid #f0e5de;box-shadow:0 3px 10px #3b26100a;backdrop-filter:blur(10px)}
.fn-language-caption{display:flex;align-items:center;gap:7px;color:#71645d;font-size:12px;font-weight:750;letter-spacing:.15px}
.fn-language-caption svg{width:18px;height:18px;fill:none;stroke:#dc572f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fn-language-select-wrap{position:relative;display:inline-flex;align-items:center}
.fn-language-bar select{appearance:none;min-width:148px;height:36px;padding:0 34px 0 12px;border:1px solid #f0cdbd;border-radius:999px;background:linear-gradient(180deg,#fff 0%,#fff8f4 100%);box-shadow:0 2px 7px #da552013;color:#302925;font-size:12px;font-weight:750;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.fn-language-bar select:hover{border-color:#e99a79;box-shadow:0 4px 12px #da552020;transform:translateY(-1px)}
.fn-language-bar select:focus-visible{outline:3px solid #e9582a30;outline-offset:2px;border-color:#e9582a}
.fn-language-chevron{position:absolute;right:13px;width:7px;height:7px;border-right:1.8px solid #7b6256;border-bottom:1.8px solid #7b6256;transform:translateY(-2px) rotate(45deg);pointer-events:none}
@media(max-width:650px){.fn-language-bar{min-height:40px;padding:4px 12px;gap:8px}.fn-language-caption span{display:none}.fn-language-caption svg{width:19px;height:19px}.fn-language-bar select{min-width:137px;height:32px;font-size:11px;padding-left:10px}}

/* T2Live 15 editable storefront themes */
.foodnow-app[class*='fn-theme-']{--fn-theme-accent:#e9582a;--fn-theme-ink:#18243d}.foodnow-app.fn-theme-noir{--fn-theme-accent:#d7a23a;--fn-theme-ink:#fff8e7;background:#171717}.foodnow-app.fn-theme-garden{--fn-theme-accent:#2f8f63;--fn-theme-ink:#17352a;background:#f1f8f2}.foodnow-app.fn-theme-ocean{--fn-theme-accent:#087ea4;--fn-theme-ink:#103746;background:#eefaff}.foodnow-app.fn-theme-street{--fn-theme-accent:#ef4b23;--fn-theme-ink:#24130e;background:#fff2df}.foodnow-app.fn-theme-minimal{--fn-theme-accent:#111827;--fn-theme-ink:#111827;background:#fff}.foodnow-app.fn-theme-terracotta{--fn-theme-accent:#a94d32;--fn-theme-ink:#402116;background:#fff3e8}.foodnow-app.fn-theme-pastel{--fn-theme-accent:#d65c88;--fn-theme-ink:#54233b;background:#fff3f8}.foodnow-app.fn-theme-royal{--fn-theme-accent:#6844b8;--fn-theme-ink:#2a174c;background:#f7f1ff}.foodnow-app.fn-theme-tropical{--fn-theme-accent:#0f9b75;--fn-theme-ink:#063d30;background:#effff7}.foodnow-app.fn-theme-bamboo{--fn-theme-accent:#667d3e;--fn-theme-ink:#26331a;background:#f8f5e8}.foodnow-app.fn-theme-retro{--fn-theme-accent:#bc4b39;--fn-theme-ink:#4b2019;background:#fff4d8}.foodnow-app.fn-theme-bakery{--fn-theme-accent:#d17c4d;--fn-theme-ink:#4b2b20;background:#fff8f0}.foodnow-app.fn-theme-seafood{--fn-theme-accent:#008b8b;--fn-theme-ink:#073b4c;background:#edffff}.foodnow-app.fn-theme-coffee{--fn-theme-accent:#8b5e3c;--fn-theme-ink:#3b2418;background:#faf3ed}.foodnow-app[class*='fn-theme-'] .fn-kicker,.foodnow-app[class*='fn-theme-'] .fn-brand-name{color:var(--fn-theme-accent)}.foodnow-app[class*='fn-theme-'] button.fn-submit,.foodnow-app[class*='fn-theme-'] .fn-hero button{background:var(--fn-theme-accent)}


.fn-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Order submission must cover the entire WordPress theme while the request is pending. */
html.fn-order-submitting,body.fn-order-submitting{overflow:hidden!important;margin:0!important;padding:0!important}
body.fn-order-submitting::before{content:'Đang gửi đơn hàng…';position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:rgba(255,250,247,.98);color:#26352e;font:800 clamp(20px,4vw,30px)/1.3 system-ui,-apple-system,sans-serif;letter-spacing:-.3px}
body.fn-order-submitting::after{content:'T2Live Now · Vui lòng chờ trong giây lát';position:fixed;left:0;right:0;top:calc(50% + 30px);z-index:2147483647;text-align:center;color:#7c716b;font:500 13px system-ui,-apple-system,sans-serif}
html:has(#foodnow-app),body:has(#foodnow-app){margin:0!important;padding:0!important}
#foodnow-app .fn-modal{z-index:2147483647!important}
#foodnow-app .fn-modal.show{display:grid!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;padding:18px!important;background:rgba(18,15,13,.9)!important}
#foodnow-app .fn-modal.show .fn-success-card{max-height:calc(100dvh - 36px);overflow:auto}

/* Final WordPress chrome lock: the restaurant storefront owns the whole viewport. */
html:has(#foodnow-app),body:has(#foodnow-app){width:100%!important;min-width:0!important;height:100%!important;overflow:hidden!important;background:#fff!important}
body:has(#foodnow-app) header:not(.fn-header),body:has(#foodnow-app) footer,body:has(#foodnow-app) .site-header,body:has(#foodnow-app) .site-footer,body:has(#foodnow-app) #masthead,body:has(#foodnow-app) #colophon,body:has(#foodnow-app) .elementor-location-header,body:has(#foodnow-app) .elementor-location-footer,body:has(#foodnow-app) .wp-site-blocks>header,body:has(#foodnow-app) .wp-site-blocks>footer{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;pointer-events:none!important}
html:has(#foodnow-app) #foodnow-app,body:has(#foodnow-app) #foodnow-app{position:fixed!important;z-index:2147483647!important;inset:0!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fff!important;isolation:isolate!important}
html:has(#foodnow-app) #foodnow-app .fn-header{z-index:10!important}


.fn-table-gate{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:18px;background:rgba(20,26,38,.78);backdrop-filter:blur(8px)}.fn-table-gate.is-confirmed{display:none}.fn-table-gate-card{width:min(430px,100%);padding:28px;border-radius:22px;background:#fff;box-shadow:0 20px 70px #0005}.fn-table-gate-card h2{margin:8px 0}.fn-table-gate-card p{color:#657080}.fn-table-gate-card label{display:block;margin:12px 0;font-weight:700}.fn-table-gate-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #d5dce6;border-radius:10px;font:inherit}.fn-table-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:16px 0}.fn-table-qr-card{padding:12px;border:1px solid #dcdcde;border-radius:12px;background:#fff;text-align:center}.fn-table-qr-card img{display:block;width:150px;height:150px;margin:8px auto}.fn-table-qr-card code{display:block;font-size:10px;word-break:break-all;margin-bottom:8px}.fn-order-type-row,.fn-promo-field[hidden],#fn-takeaway-fields,#fn-dine-in-fields[hidden]{display:none!important}

.fn-table-context{position:sticky;top:0;z-index:5;display:flex;justify-content:center;align-items:center;gap:8px;padding:10px 14px;background:#fff7ed;border-bottom:1px solid #f2d3b8;color:#8a3d18;font-size:13px}.fn-table-context[hidden]{display:none!important}.fn-table-context strong{font-size:15px;color:#5f2711}

#fn-open-cart.fn-cart-has-items{position:relative;background:#075fe8!important;color:#fff!important;border-color:#003da8!important;animation:fnCartPulse .52s ease-in-out infinite;box-shadow:0 0 0 0 #1677ffaa,0 0 0 0 #54a6ffff;transform-origin:center;z-index:2}#fn-open-cart.fn-cart-has-items:before,#fn-open-cart.fn-cart-has-items:after{content:'';position:absolute;inset:-7px;border:3px solid #1677ff;border-radius:inherit;pointer-events:none;animation:fnCartFirework 1.05s ease-out infinite;opacity:0}#fn-open-cart.fn-cart-has-items:after{inset:-13px;border-width:2px;border-color:#65b5ff;animation-delay:.26s}.fn-back-to-menu{display:block;width:100%;margin:10px 0 14px;padding:11px 14px;border:1px solid #b7e3c5;border-radius:10px;background:#f0faf3;color:#168047;font-weight:800;cursor:pointer}.fn-checkout-form input[readonly]{background:#f3f4f6;color:#5d6673;cursor:not-allowed}@keyframes fnCartPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #1677ffcc,0 0 0 0 #54a6ffaa}42%{transform:scale(1.13);box-shadow:0 0 0 11px #1677ff66,0 0 32px 12px #54a6ffff}70%{transform:scale(1.04);box-shadow:0 0 0 19px #1677ff00,0 0 18px 7px #54a6ffbb}}@keyframes fnCartFirework{0%{transform:scale(.82);opacity:0}18%{opacity:1}100%{transform:scale(1.28);opacity:0}}

.fn-called-history{margin:18px clamp(12px,5vw,64px);padding:16px 18px;border:1px solid #cfe0ff;border-radius:16px;background:linear-gradient(110deg,#f4f8ff,#fff);box-shadow:0 8px 24px #1b56a30d}.fn-called-history[hidden]{display:none!important}.fn-called-history-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.fn-called-history-head h2{margin:4px 0 0;font-size:20px}.fn-called-history-head small{color:#667085}.fn-called-history-list{}.fn-called-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e6edfa;font-size:14px}.fn-called-item:last-child{border-bottom:0}.fn-called-item b{color:#145dcc}

/* Refined customer order history: amount and verified payment state. */
.fn-called-history{margin:18px clamp(12px,5vw,64px);padding:clamp(16px,2.5vw,24px);border:1px solid #f0ded3;border-radius:22px;background:radial-gradient(ellipse at top right,#fff0e6 0,transparent 38%),linear-gradient(135deg,#fffdfa,#fff7f1);box-shadow:0 14px 38px #48230c12}.fn-called-history-head{align-items:center;margin-bottom:16px}.fn-called-history-head h2{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.4px;color:#2b2521}.fn-called-history-head small{padding:7px 11px;border:1px solid #f1e5dc;border-radius:999px;background:#fff;color:#75675e;font-size:11px}.fn-called-history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px}.fn-called-order{min-width:0;padding:15px 16px;border:1px solid #efe5de;border-radius:17px;background:#fff;box-shadow:0 5px 16px #38200e08}.fn-called-order-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #f3eeea}.fn-called-order-top>div{display:grid;gap:3px;min-width:0}.fn-called-order-top strong{font-size:14px;color:#302923}.fn-called-order-top small{overflow:hidden;color:#91857d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.fn-called-payment{display:inline-flex;flex:none;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.fn-called-payment i{width:7px;height:7px;border-radius:50%;background:currentColor}.fn-called-payment.is-unpaid{background:#fff4df;color:#9b5a00}.fn-called-payment.is-paid{background:#e9f8ef;color:#168047}.fn-called-order-items{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}.fn-called-order-items li{display:flex;justify-content:space-between;gap:12px;color:#4b423c;font-size:13px}.fn-called-order-items li small{color:#8a7d74;font-size:12px}.fn-called-order-items li b{color:#65584e;font-size:12px;white-space:nowrap}.fn-called-order-total{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px dashed #e9d9ce;color:#6e6259;font-size:13px}.fn-called-order-total strong{color:#dc542b;font-size:17px;font-weight:900}.fn-called-thanks{margin:11px 0 0;padding:9px 11px;border-radius:10px;background:#f0faf3;color:#168047;font-size:12px;font-weight:750}.fn-payment-paid{color:#168047}.fn-payment-unpaid{color:#a86400}@media(max-width:650px){.fn-called-history{margin:14px 12px;padding:15px 13px;border-radius:17px}.fn-called-history-head{align-items:flex-start;flex-direction:column;gap:7px}.fn-called-history-head small{font-size:10px}.fn-called-history-list{grid-template-columns:1fr;gap:9px}.fn-called-order{padding:13px;border-radius:14px}.fn-called-order-total strong{font-size:16px}}

/* The order history now belongs to the cart drawer. */
#fn-overlay .fn-called-history{margin:16px 0;padding:15px 14px;border-radius:16px}
#fn-overlay .fn-called-history-head{align-items:flex-start;flex-direction:column;gap:7px}
#fn-overlay .fn-called-history-head small{font-size:10px}
#fn-overlay .fn-called-history-list{grid-template-columns:1fr;gap:9px}
#fn-overlay .fn-called-order{padding:13px;border-radius:14px}

/* Unified called-items history with aggregated quantities and line totals. */
.fn-called-list-card{min-width:0;padding:15px 16px;border:1px solid #efe5de;border-radius:17px;background:#fff;box-shadow:0 5px 16px #38200e08}.fn-called-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #f3eeea}.fn-called-list-head>div{display:grid;gap:4px}.fn-called-list-head>div strong{font-size:14px;color:#302923}.fn-called-list-head>div small{color:#91857d;font-size:11px}.fn-called-called-badge{display:inline-flex;flex:none;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff1e8;color:#cb4e22;font-size:11px;font-weight:850;white-space:nowrap}.fn-called-called-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}.fn-called-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f3eeea}.fn-called-line:last-child{border-bottom:0}.fn-called-line-copy{display:grid;gap:4px;min-width:0}.fn-called-line-copy strong{overflow-wrap:anywhere;color:#302923;font-size:13px}.fn-called-line-copy small{color:#81756c;font-size:11px}.fn-called-line>b{flex:none;color:#dc542b;font-size:13px;white-space:nowrap}.fn-called-list-card .fn-called-order-items{margin:7px 0}.fn-called-list-card .fn-called-order-total{margin-top:8px}.fn-called-table-breakdown{margin:12px 0;padding:12px;border:1px solid #f0e2d8;border-radius:12px;background:#fffaf6}.fn-called-table-breakdown>strong{display:block;margin-bottom:8px;color:#9b4728;font-size:13px}.fn-called-table-breakdown ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.fn-called-table-breakdown li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f1e9e3}.fn-called-table-breakdown li>div{display:grid;gap:3px;min-width:0}.fn-called-table-breakdown li b{color:#3d352f;font-size:12px}.fn-called-table-breakdown li small{color:#85796f;font-size:10px;line-height:1.4}.fn-called-table-breakdown li>strong{flex:none;color:#bd4d2c;font-size:12px;white-space:nowrap}.fn-called-table-grand-total{display:flex;justify-content:space-between;gap:12px;padding-top:9px;color:#5b4d43;font-size:12px;font-weight:800}.fn-called-table-grand-total b{color:#dc542b;white-space:nowrap}.fn-called-list-card .fn-called-order-total strong{font-size:18px}@media(max-width:650px){.fn-called-list-card{padding:13px;border-radius:14px}.fn-called-line{gap:8px}.fn-called-line-copy small{font-size:10px}.fn-called-line>b{font-size:12px}}
#fn-overlay .fn-called-list-card{padding:12px}


/* Public table selection for guests who open the restaurant website directly */
.fn-table-gate-card{width:min(760px,100%);max-height:min(92vh,900px);overflow-y:auto}.fn-table-gate-card>p{margin:8px 0 14px}.fn-gate-selected-table input{background:#f8fafc;color:#283547;font-weight:800}.fn-public-table-picker{margin:14px 0;padding:13px;border:1px solid #e8ecef;border-radius:16px;background:#fbfcfd}.fn-public-table-legend{display:flex;gap:10px 16px;flex-wrap:wrap;margin:0 0 11px;color:#586474;font-size:11px;font-weight:650}.fn-public-table-legend span{display:flex;align-items:center;gap:6px}.fn-public-table-legend i{width:9px;height:9px;border-radius:50%;background:#229a63}.fn-public-table-legend i.is-occupied{background:#a7adb6}.fn-public-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;max-height:39vh;overflow:auto;padding:2px 3px 5px}.fn-public-table{display:flex;min-height:93px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 5px;border:1px solid #bde2ce;border-radius:13px;background:linear-gradient(155deg,#f3fff7,#fff);color:#1d5439;transition:transform .14s,border-color .14s,box-shadow .14s}.fn-public-table:hover:not(:disabled),.fn-public-table:focus-visible{transform:translateY(-2px);border-color:#39a56e;box-shadow:0 5px 14px #16834c20}.fn-public-table.is-selected{border:2px solid #e9582a;background:#fff5ef;color:#7e351d;box-shadow:0 0 0 3px #e9582a18}.fn-public-table.is-occupied{border-color:#e1e4e8;background:#f0f1f3;color:#727985;cursor:not-allowed;opacity:.82}.fn-public-table svg{width:31px;height:31px;fill:#fff;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fn-public-table strong{font-size:13px}.fn-public-table small{font-size:10px;line-height:1.2}.fn-public-table-status{min-height:18px;margin:10px 2px 0!important;color:#596779!important;font-size:12px}.fn-public-table-loading{grid-column:1/-1;padding:23px 10px;text-align:center;color:#777e88;font-size:13px}.fn-public-table-loading.is-error{color:#b42318}.fn-table-gate-card button:disabled{opacity:.72}@media(max-width:520px){.fn-table-gate{padding:10px}.fn-table-gate-card{padding:18px 15px;border-radius:17px}.fn-public-table-picker{padding:10px}.fn-public-table-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;max-height:34vh}.fn-public-table{min-height:83px}.fn-table-gate-card label{margin:9px 0;font-size:12px}.fn-table-gate-card input{padding:10px}}

/* Direct-website table picker: floor map beside the guest-count panel */
.fn-table-gate-card{width:min(960px,100%)}.fn-public-table-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);align-items:stretch;gap:14px;margin:14px 0}.fn-public-table-layout .fn-public-table-picker{margin:0;min-width:0}.fn-public-table-seat-panel{display:flex;flex-direction:column;gap:10px;align-self:stretch;padding:16px;border:1px solid #e5e9ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px #182b4410}.fn-public-table-seat-panel>label{display:grid;gap:6px;margin:0;font-size:13px;font-weight:700}.fn-public-table-seat-panel input{width:100%;min-height:44px;border:1px solid #d6dce5;border-radius:10px;background:#fbfcfe;color:#243247;font-size:16px}.fn-public-table-seat-panel .fn-public-table-status{margin:auto 0 0!important;min-height:38px;padding:9px 0;color:#596779!important}.fn-public-table-seat-panel .fn-submit{width:100%;min-height:48px;margin-top:2px}.fn-public-table-seat-panel-single{max-width:420px}.fn-public-table-grid{max-height:55vh}@media(max-width:680px){.fn-table-gate-card{width:min(560px,100%)}.fn-public-table-layout{grid-template-columns:1fr}.fn-public-table-grid{max-height:32vh}.fn-public-table-seat-panel{padding:12px}}

/* Mobile table gate fills the viewport; only the table grid scrolls */
@media(max-width:680px){html.fn-table-gate-locked,body.fn-table-gate-locked{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none!important}.fn-table-gate{inset:0;width:100vw;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;padding:0!important;place-items:stretch!important;overflow:hidden}.fn-table-gate-card{display:flex;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;min-height:0;flex-direction:column;gap:5px;overflow:hidden;box-sizing:border-box;padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}.fn-table-gate-card>.fn-kicker{font-size:9px}.fn-table-gate-card h2{margin:2px 0;font-size:18px}.fn-table-gate-card>p{flex:none;margin:2px 0 5px;font-size:11px;line-height:1.3}.fn-public-table-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(108px,36vw);grid-template-rows:minmax(0,1fr);gap:7px;margin:0;overflow:hidden}.fn-public-table-layout .fn-public-table-picker{display:flex;min-height:0;flex-direction:column;gap:5px;overflow:hidden;padding:7px}.fn-public-table-legend{flex:none;gap:4px 7px;margin:0 0 2px;font-size:9px;line-height:1.15}.fn-public-table-legend span{gap:4px}.fn-public-table-legend i{width:7px;height:7px;flex:none}.fn-public-table-grid{flex:1;min-height:0;max-height:none;grid-template-columns:repeat(auto-fill,minmax(55px,1fr));align-content:start;gap:5px;overflow:auto;overscroll-behavior:contain;padding:1px}.fn-public-table{min-height:62px;gap:2px;padding:4px 2px;border-radius:8px}.fn-public-table svg{width:22px;height:22px}.fn-public-table strong{font-size:10px}.fn-public-table small{font-size:8px}.fn-public-table-seat-panel{min-width:0;min-height:0;gap:7px;overflow:hidden;padding:8px;border-radius:12px;box-shadow:none}.fn-public-table-seat-panel>label{gap:4px;font-size:11px;line-height:1.2}.fn-public-table-seat-panel input{min-height:40px;margin-top:2px;padding:7px;font-size:14px}.fn-public-table-seat-panel .fn-public-table-status{min-height:0;margin:auto 0 0!important;padding:3px 0;font-size:10px;line-height:1.2}.fn-public-table-seat-panel .fn-submit{min-height:42px;padding:7px 4px;font-size:11px;line-height:1.2}.fn-public-table-seat-panel-single{width:100%;max-width:none;min-height:0;overflow:auto}.fn-public-table-seat-panel-single+.fn-submit{flex:none}}@media(max-width:680px) and (orientation:landscape){.fn-public-table-layout{grid-template-columns:minmax(0,1.35fr) minmax(165px,.65fr)}.fn-public-table-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.fn-table-gate-card h2{font-size:16px}}

@media(max-width:680px){.fn-public-table-grid{touch-action:pan-y;-webkit-overflow-scrolling:touch}}

/* Mobile end-of-menu safe area: keep the final add button fully reachable */
@media(max-width:650px){.foodnow-app{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-padding-bottom:calc(160px + env(safe-area-inset-bottom))}.fn-main{padding-bottom:calc(160px + env(safe-area-inset-bottom))!important}.fn-grid{padding-bottom:20px;overflow:visible}.fn-card{height:auto;min-height:0}.fn-card-body{overflow:visible}.fn-add{position:relative;z-index:1;min-height:48px;padding:12px 8px;touch-action:manipulation;pointer-events:auto}}
/* Softer cart attention pulse: retain visibility without a bright flashing glow */
#fn-open-cart.fn-cart-has-items{background:#c75124!important;color:#fff!important;border-color:#aa431e!important;animation:fnCartPulse 1.05s ease-in-out infinite;box-shadow:0 0 0 0 #d9683a22!important}
#fn-open-cart.fn-cart-has-items:before,#fn-open-cart.fn-cart-has-items:after{inset:-4px;border:1px solid #d77955;border-radius:inherit;animation:fnCartFirework 1.8s ease-out infinite;opacity:0}
#fn-open-cart.fn-cart-has-items:after{inset:-7px;border-width:1px;border-color:#e3a084;animation-delay:.45s}
@keyframes fnCartPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #d9683a22}48%{transform:scale(1.035);box-shadow:0 0 0 5px #d9683a1c,0 0 10px 1px #d9683a24}76%{transform:scale(1.015);box-shadow:0 0 0 8px #d9683a08,0 0 7px 1px #d9683a14}}
@keyframes fnCartFirework{0%{transform:scale(.94);opacity:0}16%{opacity:.32}100%{transform:scale(1.09);opacity:0}}
@media(prefers-reduced-motion:reduce){#fn-open-cart.fn-cart-has-items,#fn-open-cart.fn-cart-has-items:before,#fn-open-cart.fn-cart-has-items:after{animation:none!important}}


/* While choosing a table, freeze the storefront viewport; the table map alone can scroll */
.foodnow-app.fn-table-gate-locked{overflow:hidden!important;overscroll-behavior:none!important}.fn-public-table-grid{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* Refined customer cart button and balanced green pulse when cart contains items */
#fn-open-cart{position:relative;isolation:isolate;min-height:48px;padding:11px 18px;border:1px solid #e85a19;border-radius:15px;background:linear-gradient(135deg,#f57924 0%,#e95117 100%);box-shadow:0 6px 16px rgba(214,86,26,.2);gap:9px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
#fn-open-cart:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(214,86,26,.26)}#fn-open-cart .fn-cart-icon{width:21px;height:21px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}#fn-open-cart .fn-cart-label{font-size:14px;font-weight:850;letter-spacing:.01em}#fn-open-cart #fn-cart-count{display:inline-grid;min-width:28px;height:28px;box-sizing:border-box;place-items:center;margin-left:3px;padding:0 7px;border:1px solid rgba(255,255,255,.76);border-radius:999px;background:#fff;color:#cf4e18;font-size:13px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(90,35,10,.13);transition:background .18s ease,color .18s ease,transform .18s ease}
#fn-open-cart.fn-cart-has-items{z-index:2;border-color:#0c7545!important;background:linear-gradient(135deg,#1ca867 0%,#087348 100%)!important;color:#fff!important;animation:fnCartPulseBalanced .95s ease-in-out infinite;box-shadow:0 7px 18px rgba(13,128,77,.28);transform-origin:center}
#fn-open-cart.fn-cart-has-items #fn-cart-count{background:#f2fff7;color:#0c7044;transform:scale(1.04);box-shadow:0 2px 8px rgba(5,68,39,.2)}
#fn-open-cart.fn-cart-has-items:before,#fn-open-cart.fn-cart-has-items:after{content:'';position:absolute;inset:-5px;z-index:-1;border:2px solid rgba(34,197,94,.34);border-radius:inherit;pointer-events:none;animation:fnCartHaloBalanced 1.42s ease-out infinite;opacity:0}
#fn-open-cart.fn-cart-has-items:after{inset:-10px;border-width:1.5px;border-color:rgba(74,222,128,.24);animation-delay:.48s}
@keyframes fnCartPulseBalanced{0%,100%{transform:scale(1);box-shadow:0 6px 16px rgba(13,128,77,.22),0 0 0 0 rgba(34,197,94,.16)}45%{transform:scale(1.055);box-shadow:0 8px 22px rgba(13,128,77,.34),0 0 0 7px rgba(34,197,94,.13)}}
@keyframes fnCartHaloBalanced{0%{transform:scale(.96);opacity:.24}72%{opacity:.12}100%{transform:scale(1.13);opacity:0}}
@media(max-width:600px){#fn-open-cart{min-height:44px;padding:9px 12px;gap:6px;border-radius:13px}#fn-open-cart .fn-cart-icon{width:19px;height:19px}#fn-open-cart .fn-cart-label{font-size:12px}#fn-open-cart #fn-cart-count{min-width:25px;height:25px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#fn-open-cart,#fn-open-cart.fn-cart-has-items,#fn-open-cart.fn-cart-has-items:before,#fn-open-cart.fn-cart-has-items:after{animation:none!important;transition:none!important}}

/* QR-only customer entry: scan a signed shop/table code before asking for guest count. */
.fn-table-gate{z-index:2147483600!important;background:rgba(15,24,33,.82);backdrop-filter:blur(10px)}
.fn-table-gate-card{width:min(480px,calc(100vw - 28px));max-height:min(92vh,760px);overflow:auto;padding:clamp(22px,5vw,38px);border:1px solid #f0e5dc;border-radius:24px;background:linear-gradient(150deg,#fff 0%,#fffaf5 100%);text-align:center;box-shadow:0 28px 90px #07111f66}
.fn-table-gate-card h2{margin:8px 0;color:#28211d;font-size:clamp(24px,6vw,34px);font-weight:900;letter-spacing:-.7px}
.fn-table-gate-card .fn-qr-gate-intro{margin:0 auto 18px;max-width:390px;color:#71655c;font-size:14px;line-height:1.65}
.fn-qr-scan-panel{display:grid;justify-items:center;gap:10px;padding:20px;border:1px solid #f0e0d3;border-radius:18px;background:linear-gradient(140deg,#fff8f1,#fff)}
.fn-qr-scan-panel[hidden],.fn-public-table-seat-panel[hidden]{display:none!important}
.fn-qr-scan-icon{display:grid;width:64px;height:64px;place-items:center;border:1px solid #f2d7c5;border-radius:20px;background:#fff;color:#df5b2b;font-size:42px;line-height:1}
.fn-qr-scan-panel>strong{color:#312821;font-size:17px}.fn-qr-scan-panel>p{margin:0;color:#746a62;font-size:12px;line-height:1.55}
.fn-qr-scan-panel .fn-start-qr-scan{width:100%;min-height:50px;margin-top:3px;border:0;border-radius:13px;background:linear-gradient(135deg,#e9662f,#cb431c);box-shadow:0 8px 18px #d957292d;color:#fff;font-weight:850}
.fn-qr-stop-scan{padding:8px 12px;border:1px solid #d6dce3;border-radius:9px;background:#fff;color:#344054;font-weight:700}
#fn-table-qr-video{display:block;width:100%;max-height:44vh;object-fit:cover;border:2px solid #e96a37;border-radius:16px;background:#111;transform:scaleX(1)}
.fn-table-gate-card .fn-public-table-seat-panel{width:100%;max-width:none;gap:12px;margin:0;padding:16px;border:1px solid #e8e1da;border-radius:17px;background:#fff;text-align:left;box-shadow:0 8px 24px #38200e0b}
.fn-table-gate-card .fn-public-table-seat-panel label{display:grid;gap:7px;margin:0;color:#40352e;font-size:13px;font-weight:800}
.fn-table-gate-card .fn-public-table-seat-panel input{min-height:48px;padding:10px 12px;border:1px solid #d9dedf;border-radius:11px;background:#f7f8f7;color:#255a3d;font-size:17px;font-weight:850}
.fn-table-gate-card .fn-public-table-seat-panel label:nth-child(2) input{background:#fff;color:#20201f;font-weight:600}
.fn-table-gate-card .fn-public-table-seat-panel .fn-submit{width:100%;min-height:50px;margin:0;border:0;border-radius:12px;font-weight:850}
.fn-table-gate-card .fn-public-table-seat-panel .fn-submit:disabled{filter:grayscale(.4);opacity:.55}
/* Brand intro now fills the viewport, presents both the restaurant logo and shop name, then yields to QR gate. */
.fn-welcome-splash{inset:0!important;z-index:2147483646!important;min-height:100dvh;background:radial-gradient(ellipse at 50% 36%,#fff 0%,#fff9f4 42%,#fbe2d2 100%)}
.fn-welcome-content{gap:12px!important;padding:28px!important}
.fn-welcome-splash .fn-welcome-kicker{display:block;color:#a24a2b;font-size:11px;font-weight:850;letter-spacing:2px}
.fn-welcome-splash img{width:min(34vw,148px)!important;height:min(34vw,148px)!important;padding:10px!important;border-radius:28px!important}
.fn-welcome-splash strong{max-width:min(90vw,620px);font-size:clamp(30px,8vw,48px)!important;line-height:1.12;overflow-wrap:anywhere;text-align:center}
.fn-welcome-splash .fn-welcome-message{font-size:clamp(16px,4.4vw,23px)!important;letter-spacing:.2px!important}
.fn-welcome-splash small{margin-top:12px;color:#816455;font-size:10px;font-weight:850;letter-spacing:1.6px}
@media(max-width:680px){.fn-table-gate-card{width:100vw;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:0}.fn-table-gate-card .fn-qr-gate-intro{margin-bottom:8px;font-size:13px}.fn-qr-scan-panel{gap:8px;padding:15px}.fn-qr-scan-icon{width:52px;height:52px;border-radius:16px;font-size:34px}#fn-table-qr-video{max-height:36vh}.fn-table-gate-card .fn-public-table-seat-panel{padding:14px}}

.fn-qr-security-note{margin:0 0 14px;padding:12px 14px;border:1px solid #f1d7a8;border-radius:12px;background:#fff8e8;color:#704d13;font-size:13px;line-height:1.5}

/* Large customer QR camera view with zoom, torch and one-tap stop */
.fn-public-qr-controls{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.fn-public-qr-controls[hidden]{display:none!important}.fn-public-qr-controls button{min-width:42px;min-height:42px;padding:8px 12px;border:1px solid #cbd5df;border-radius:11px;background:#fff;color:#26374a;font-size:17px;font-weight:850;cursor:pointer}.fn-public-qr-controls #fn-qr-zoom-value{min-width:48px;color:#344054;font-size:13px;font-weight:850;text-align:center}.fn-public-qr-controls #fn-qr-expand{font-size:12px}.fn-public-qr-controls #fn-qr-torch{border-color:#f5c542;background:#fff7d6;color:#775900;font-size:12px}.fn-public-qr-controls #fn-qr-torch.is-on{background:#facc15}.fn-public-qr-controls .fn-qr-stop-scan{border-color:#dc2626;background:#dc2626;color:#fff;font-size:13px}.fn-qr-scan-panel.is-camera-expanded{position:fixed!important;inset:0!important;z-index:2147483601!important;display:grid!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;justify-items:stretch;gap:10px;overflow:hidden;box-sizing:border-box;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));border:0;border-radius:0;background:#07131f;color:#fff}.fn-qr-scan-panel.is-camera-expanded .fn-qr-scan-icon,.fn-qr-scan-panel.is-camera-expanded>strong,.fn-qr-scan-panel.is-camera-expanded>p:not(.fn-public-table-status),.fn-qr-scan-panel.is-camera-expanded .fn-start-qr-scan{display:none!important}.fn-qr-scan-panel.is-camera-expanded #fn-table-qr-video{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;border:1px solid #34495e;border-radius:14px;background:#020609}.fn-qr-scan-panel.is-camera-expanded .fn-public-table-status{margin:0;padding:9px 11px;border-radius:10px;background:#122538;color:#eaf2f8;font-size:13px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls{gap:9px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls button{min-height:48px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls #fn-qr-zoom-value{color:#fff}
@media(max-width:680px){.fn-qr-scan-panel.is-camera-expanded{gap:8px;padding:calc(10px + env(safe-area-inset-top)) calc(9px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(9px + env(safe-area-inset-left))}.fn-qr-scan-panel.is-camera-expanded #fn-table-qr-video{border-radius:10px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls{display:grid;grid-template-columns:48px 52px 48px 1fr 1fr;gap:6px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls button{width:100%;min-width:0;padding:5px;font-size:15px}.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls #fn-qr-expand,.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls #fn-qr-torch,.fn-qr-scan-panel.is-camera-expanded .fn-public-qr-controls .fn-qr-stop-scan{font-size:11px}}
@media(min-width:681px){.fn-qr-scan-panel.is-camera-expanded{display:flex!important;flex-direction:column}.fn-qr-scan-panel.is-camera-expanded #fn-table-qr-video{flex:1 1 auto;height:auto}}
@media(max-width:680px){.fn-qr-scan-panel.is-camera-expanded{display:flex!important;flex-direction:column}.fn-qr-scan-panel.is-camera-expanded #fn-table-qr-video{flex:1 1 auto;height:auto}}
#fn-table-qr-video[hidden]{display:none!important}

/* Shop-branded welcome intro: premium, legible and motion-light for faster phones */
#fn-welcome-splash{inset:0!important;z-index:2147483646!important;display:none;place-items:center;overflow:hidden;box-sizing:border-box;padding:calc(22px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));color:#fff;background:radial-gradient(ellipse at 50% 38%,#a4553522 0%,transparent 42%),linear-gradient(145deg,#101817 0%,#19201d 54%,#2a1d19 100%);opacity:0}
#fn-welcome-splash.show{display:grid;animation:fnSplashFadeIn .35s ease-out forwards}
#fn-welcome-splash::before{content:"";position:absolute;width:min(84vw,560px);aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 24px #ffffff06,0 0 0 58px #ffffff04;pointer-events:none}
#fn-welcome-splash::after{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--fn-theme-accent,#e9582a),transparent);opacity:.8}
#fn-welcome-splash .fn-welcome-content{position:relative;z-index:1;display:flex;max-width:min(92vw,620px);flex-direction:column;align-items:center;gap:15px;padding:24px;text-align:center;animation:fnWelcomeRise .65s cubic-bezier(.2,.8,.2,1) both}
#fn-welcome-splash .fn-welcome-kicker{display:flex;align-items:center;justify-content:center;gap:9px;color:#f4c9ae;font-size:10px;font-weight:850;letter-spacing:2.2px;line-height:1.5}
#fn-welcome-splash .fn-welcome-kicker i{width:7px;height:7px;border-radius:50%;background:var(--fn-theme-accent,#e9582a);box-shadow:0 0 0 4px #e9582a25}
#fn-welcome-splash .fn-welcome-logo-frame{position:relative;display:grid;width:clamp(108px,25vw,160px);height:clamp(108px,25vw,160px);place-items:center;margin:5px 0 2px;border:1px solid #ffffff30;border-radius:36px;background:linear-gradient(145deg,#ffffff1c,#ffffff08);box-shadow:0 22px 60px #0005,0 0 0 7px #ffffff08;}
#fn-welcome-splash .fn-welcome-logo-frame::before{content:"";position:absolute;inset:-8px;border:1px solid #ffffff16;border-radius:43px;pointer-events:none}
#fn-welcome-splash .fn-welcome-logo-frame img{display:block;width:100%;height:100%;padding:13px;border:0;border-radius:35px;background:#fff;object-fit:contain;box-shadow:none;animation:none}
#fn-welcome-splash .fn-welcome-logo-fallback{display:grid;width:100%;height:100%;place-items:center;border-radius:35px;background:linear-gradient(145deg,var(--fn-theme-accent,#e9582a),#b64326);color:#fff;font-size:58px;font-weight:400;line-height:1;text-shadow:none}
#fn-welcome-splash .fn-welcome-content>strong{max-width:100%;color:#fff;font-size:clamp(29px,7vw,48px);font-weight:900;letter-spacing:-1.1px;line-height:1.08;text-align:center;text-shadow:0 3px 25px #0006;overflow-wrap:anywhere}
#fn-welcome-splash .fn-welcome-message{max-width:38ch;color:#f1e7df;font-size:clamp(15px,4vw,20px);font-weight:550;letter-spacing:.15px;line-height:1.45;text-shadow:none}
#fn-welcome-splash .fn-welcome-divider{display:flex;align-items:center;justify-content:center;gap:10px;width:min(310px,80vw);margin-top:3px;color:#d5b7a5;font-size:9px;font-weight:800;letter-spacing:1.6px}
#fn-welcome-splash .fn-welcome-divider i{height:1px;flex:1;background:linear-gradient(90deg,transparent,#ffffff42)}
#fn-welcome-splash .fn-welcome-divider i:last-child{transform:scaleX(-1)}
#fn-welcome-splash .fn-welcome-content>small{margin-top:3px;color:#d4c1b5;font-size:9px;font-weight:800;letter-spacing:1.5px}
#fn-welcome-splash .fn-welcome-progress{width:min(220px,56vw);height:3px;overflow:hidden;margin-top:6px;border-radius:9px;background:#ffffff20}
#fn-welcome-splash .fn-welcome-progress span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--fn-theme-accent,#e9582a);transform:scaleX(0);transform-origin:left;animation:fnWelcomeProgress var(--fn-welcome-duration,3s) linear forwards}
@keyframes fnWelcomeRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fnWelcomeProgress{to{transform:scaleX(1)}}
@media(max-width:520px){#fn-welcome-splash .fn-welcome-content{gap:13px;padding:18px}#fn-welcome-splash .fn-welcome-logo-frame{border-radius:30px}#fn-welcome-splash .fn-welcome-logo-frame img,#fn-welcome-splash .fn-welcome-logo-fallback{border-radius:29px}}
@media(prefers-reduced-motion:reduce){#fn-welcome-splash.show,#fn-welcome-splash .fn-welcome-content,#fn-welcome-splash .fn-welcome-progress span{animation:none!important}#fn-welcome-splash .fn-welcome-progress span{transform:scaleX(1)}}
.fn-favicon-preview{display:block;width:64px;height:64px;margin:8px 0 18px;padding:5px;border:1px solid #d8e0e8;border-radius:12px;background:#fff;object-fit:contain}
