@import url('./assets/fonts.css');
@font-face{font-family:'Noto Color Emoji';src:url('./assets/emoji-sub.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--fond:#F5F0E8;--carte:#FFFFFF;--texte:#0B0B0C;--texte-2:#6B6866;--accent:#FF642E;--accent-clair:#FFE9DF}
*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--texte);font-family:Inter,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{touch-action:manipulation}button:disabled{cursor:default}h1,h2,h3,p{margin:0}img{display:block}button:hover{filter:brightness(.985)}
.showcase{max-width:1326px;margin:auto;padding:44px 36px 48px}.showcase-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.showcase-header h1{font:700 30px/1.25 Sora,sans-serif;letter-spacing:-1px}.showcase-header p{font-size:13px;color:var(--texte-2);margin-top:9px}.test-link{padding:16px 20px;border-radius:20px;background:var(--accent);color:var(--carte);font-size:14px;font-weight:600}.boards{display:grid;grid-template-columns:repeat(3,390px);gap:32px 24px;justify-content:center}.board-label{height:35px;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--texte-2)}.board-label strong{color:var(--texte);font-weight:600}.board .pf-phone{box-shadow:0 8px 28px #6B686610;border:1px solid #FFFFFF;border-radius:20px}.credits{font-size:11px;color:var(--texte-2);line-height:1.7;margin-top:28px}.credits a{color:inherit}
.pf-phone{width:390px;height:844px;position:relative;isolation:isolate;background:var(--fond);overflow:hidden;color:var(--texte);font-family:Inter,sans-serif;text-align:left}.pf-phone h1{font-family:Sora,sans-serif;font-size:28px;font-weight:800;line-height:1.28;letter-spacing:-1.05px}.pf-phone h2,.pf-phone h3{font-family:Sora,sans-serif;font-weight:700}.pf-phone button{transition:transform .18s ease}.pf-phone button:active{transform:scale(.96)}.pf-phone .emoji{font-family:'Noto Color Emoji','Apple Color Emoji','Segoe UI Emoji',sans-serif;font-weight:400}.muted{color:var(--texte-2)}
.top-brand{display:flex;align-items:center;gap:11px}.brand-symbol{height:48px;width:48px;flex-shrink:0;background:var(--carte);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:29px;box-shadow:0 3px 14px #6B686607}.brand-text{font-family:Sora,sans-serif;font-weight:700;line-height:1.18;font-size:17px;letter-spacing:-.5px}.brand-text span{display:block}.brand-inline .brand-text span{display:inline}.brand-inline .brand-text span+span:before{content:' '}.brand-inline .brand-symbol{width:40px;height:40px;font-size:25px;border-radius:15px}.brand-inline .brand-text{font-size:17px}
.splash{height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.splash-inner{transform:translateY(-19px)}.pflow-mark{font-family:Sora,sans-serif;font-size:28px;letter-spacing:-1.5px;font-weight:700;line-height:1.2;display:inline-block}.splash p{font-size:14px;color:var(--texte-2);margin-top:25px}.splash-dots{display:flex;gap:5px;justify-content:center;margin-top:18px}.splash-dots i{width:4px;height:4px;border-radius:50%;background:var(--texte-2);opacity:.25;animation:breathe 1s infinite}.splash-dots i:nth-child(2){animation-delay:.15s}.splash-dots i:nth-child(3){animation-delay:.3s}
.mode-screen{padding:36px 24px}.mode-top{display:flex;justify-content:space-between;align-items:flex-start}.language-switch{display:flex;gap:3px;padding:3px;border-radius:16px;background:var(--carte)}.language-switch button{width:36px;height:38px;border-radius:12px;font-size:21px;opacity:.55}.language-switch button[aria-pressed=true]{background:var(--accent-clair);opacity:1}.mode-screen h1{margin-top:77px;max-width:300px}.mode-options{display:flex;flex-direction:column;gap:18px;margin-top:36px}.mode-option{display:flex;align-items:center;gap:23px;width:100%;height:162px;padding:25px 24px;background:var(--carte);border-radius:20px;text-align:left;box-shadow:0 5px 24px #6B686607}.mode-option>.emoji{font-size:48px;line-height:1.2}.mode-option strong{display:block;font-size:19px;font-weight:600;margin-bottom:9px}.mode-option small{display:block;font-size:13px;color:var(--texte-2);white-space:nowrap}
.menu-header{position:absolute;inset:0 0 auto;height:188px;padding:28px 20px 0;background:var(--fond);z-index:3}.restaurant-row{display:flex;justify-content:space-between;align-items:center}.basket-icon{height:44px;width:44px;background:var(--carte);border-radius:16px;font-size:21px;position:relative}.basket-icon .badge{position:absolute;right:-3px;top:-4px;min-width:20px;height:20px;background:var(--accent);color:var(--carte);display:grid;place-items:center;border-radius:50%;border:2px solid var(--fond);font:600 11px/1 Inter,sans-serif;animation:pop .26s ease}.mode-change{display:flex;align-items:center;gap:5px;padding:0;margin:13px 0 22px;font-size:12px;min-height:23px;color:var(--texte-2)}.mode-change .change{color:var(--accent);font-weight:600}.menu-header h1{font-size:28px}.menu-scroll{position:absolute;top:188px;bottom:0;left:0;right:0;overflow:auto;padding:0 20px 28px;scrollbar-width:none}.menu-scroll::-webkit-scrollbar{display:none}.has-cart .menu-scroll{padding-bottom:115px}.category{margin-bottom:12px}.category-toggle{width:100%;height:50px;display:flex;align-items:center;gap:9px;font-size:15px;text-align:left}.category-toggle .emoji{font-size:21px}.category-toggle strong{font-weight:600}.category-toggle .cat-count{font-size:12px;color:var(--texte-2);margin-left:1px}.category-toggle .chevron{margin-left:auto;font-size:20px;color:var(--texte-2);line-height:1}.category:not(.open){background:var(--carte);border-radius:20px;padding:3px 16px;box-shadow:0 3px 16px #6B686604}.dish-list{display:flex;flex-direction:column;gap:10px}.dish{height:112px;display:flex;gap:12px;align-items:center;padding:12px;background:var(--carte);border-radius:20px;box-shadow:0 4px 20px #6B686605}.dish-photo{width:88px;height:88px;flex-shrink:0;border-radius:15px;overflow:hidden;background:var(--fond);padding:0}.dish-photo img{width:100%;height:100%;object-fit:cover}.photo-classic img{object-position:50% 50%;transform:scale(1.04)}.photo-double img{object-position:50% 57%;transform:scale(1.14)}.photo-chicken img{object-fit:cover;width:180%;max-width:none;transform:translateX(-42%);object-position:50% 65%}.photo-veggie img{transform:scale(3.05);object-position:50% 60%}.dish-info{flex:1;min-width:0;text-align:left;padding:0}.dish h3{font-size:15px;line-height:1.3;letter-spacing:-.4px;white-space:nowrap}.dish p{font-size:11px;line-height:1.4;white-space:nowrap;color:var(--texte-2);margin-top:5px}.dish-price{display:block;font-size:13px;font-weight:600;margin-top:10px}.add-dish{width:38px;height:38px;flex-shrink:0;background:var(--accent);color:var(--carte);border-radius:50%;font-size:25px;font-weight:400;display:grid;place-items:center;align-self:flex-end;margin-bottom:1px;position:relative}.add-dish:before{content:'';position:absolute;inset:-3px}.add-dish.popped{animation:pop .3s ease}.bottom-dock{position:absolute;z-index:4;bottom:0;left:0;right:0;padding:16px 20px 26px;background:var(--fond);box-shadow:0 -9px 16px #F5F0E8D9}.primary-button{width:100%;height:56px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:20px;background:var(--accent);color:var(--carte);font-weight:600;font-size:15px;box-shadow:0 4px 13px #6B68660A}.cart-button{justify-content:space-between;padding:0 17px;animation:rise .25s ease}.cart-button .cart-left{display:flex;align-items:center;gap:8px}.cart-button .cart-left b{font-weight:600;font-size:13px}.cart-button .amount{font-size:14px;font-weight:600}.cart-button .cart-label{font-size:14px}.cart-button .divider{opacity:.6;font-size:12px}
.composer-backdrop{position:absolute;inset:0;z-index:5;background:#F5F0E8C9;backdrop-filter:blur(2px)}.composer-sheet{position:absolute;z-index:6;left:0;right:0;bottom:0;top:94px;background:var(--fond);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #6B686620;display:flex;flex-direction:column;animation:rise .3s ease}.sheet-handle{width:38px;height:4px;background:var(--texte-2);opacity:.35;border-radius:4px;flex-shrink:0;margin:10px auto 10px}.sheet-topline{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:37px;flex-shrink:0}.sheet-topline>span{font-weight:600;font-size:13px}.sheet-close{color:var(--texte-2);font-size:21px;width:34px;height:34px;border-radius:50%;background:var(--carte)}.composer-photo{margin:9px 20px 0;height:143px;border-radius:20px;position:relative;overflow:hidden;flex-shrink:0;background:var(--carte)}.composer-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.composer-photo.photo-double img{transform:scale(1.05);object-position:50% 54%}.composer-photo .dish-caption{position:absolute;bottom:11px;left:11px;padding:8px 12px;border-radius:12px;background:var(--carte);font-size:12px;font-weight:600}.composer-progress{padding:16px 20px 0;flex-shrink:0;display:flex;align-items:center;gap:13px}.progress-steps{display:flex;flex:1;gap:5px}.progress-step{height:5px;padding:0;border-radius:9px;flex:1;background:#6B686629}.progress-step.done{background:var(--accent)}.step-count{font-size:12px;color:var(--texte-2);font-weight:600}.composer-content{padding:19px 20px 108px;overflow:auto;flex:1;scrollbar-width:none}.composer-content h1{font-size:24px;line-height:1.3;letter-spacing:-.8px;max-width:345px;margin-bottom:17px}.composer-options{display:flex;flex-direction:column;gap:9px}.choice{position:relative;display:flex;align-items:center;gap:10px;min-height:57px;padding:12px 14px;background:var(--carte);border-radius:17px;cursor:pointer}.choice.selected{background:var(--accent-clair)}.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.choice .emoji{font-size:22px;width:27px;flex-shrink:0}.choice-name{font-size:14px;font-weight:500;flex:1}.choice-price{font-size:12px;color:var(--texte-2);white-space:nowrap}.choice-mark{height:20px;width:20px;border:1.5px solid #6B686659;border-radius:7px;background:var(--carte);display:grid;place-items:center;color:var(--carte);font-size:12px;font-weight:700;flex-shrink:0}.selected .choice-mark{background:var(--accent);border-color:var(--accent)}.choice.radio .choice-mark{border-radius:50%}.choice.radio.selected .choice-mark:after{content:'';width:7px;height:7px;background:var(--carte);border-radius:50%}.sheet-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.sheet-navigation button{color:var(--texte-2);min-height:36px;font-size:12px;padding:4px 2px}.composer-dock{padding-top:12px}.composer-dock .primary-button{font-size:15px}
.basket-screen{height:100%;padding:28px 20px 0}.basket-top{display:flex;align-items:center;gap:12px}.back-button{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--carte);border-radius:14px;font-size:20px;color:var(--texte-2)}.basket-screen h1{margin-top:27px}.basket-mode{font-size:12px;color:var(--texte-2);margin-top:10px;margin-bottom:20px}.basket-scroll{position:absolute;left:20px;right:20px;top:192px;bottom:105px;overflow:auto;scrollbar-width:none;padding-bottom:3px}.basket-lines{display:flex;flex-direction:column;gap:12px}.basket-line{background:var(--carte);border-radius:20px;padding:14px;display:flex;align-items:flex-start;gap:12px;min-height:122px;box-shadow:0 3px 15px #6B686605}.basket-line .dish-photo{width:72px;height:80px;border-radius:14px}.basket-line-info{flex:1;min-width:0}.basket-line h3{font-size:15px;line-height:1.3;letter-spacing:-.4px;margin-bottom:6px}.basket-line p{font-size:11px;color:var(--texte-2);line-height:1.6}.basket-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}.basket-line-bottom strong{font:600 14px/1.3 Inter,sans-serif}.remove-item{color:var(--accent);font-size:12px;min-height:27px;padding:0 1px}.receipt{background:var(--carte);padding:17px 18px;border-radius:20px;margin-top:18px}.receipt-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--texte-2);margin-bottom:12px}.receipt-row span:last-child{font-weight:600;color:var(--texte)}.receipt-total{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--fond);font:700 19px/1.35 Sora,sans-serif;letter-spacing:-.5px}.name-field{display:block;margin-top:21px}.name-field>span{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.name-field input{height:54px;width:100%;border:0;border-radius:18px;background:var(--carte);padding:0 17px;color:var(--texte);font-size:16px;box-shadow:0 3px 15px #6B686605}.name-field input::placeholder{color:var(--texte-2)}.name-field input[aria-invalid=true]{outline:2px solid var(--accent)}.name-error{font-size:12px;margin-top:7px;color:var(--texte-2)}.powered{font-size:11px;color:var(--texte-2);text-align:center;margin-top:18px}.empty-basket{text-align:center;margin-top:70px;color:var(--texte-2);font-size:14px;line-height:1.8}.empty-basket .emoji{font-size:48px;display:block;margin-bottom:15px}.confirmation-screen{height:100%;padding:28px 24px}.confirmation-inner{position:absolute;top:285px;left:24px;right:24px;text-align:center}.success-mark{display:grid;place-items:center;margin:0 auto 28px;width:85px;height:85px;border-radius:28px;background:var(--accent);color:var(--carte);font:600 49px/1 Inter,sans-serif;animation:pop .3s ease}.confirmation-inner h1{font-size:27px;line-height:1.35}.confirmation-inner p{font-size:14px;color:var(--texte-2);margin-top:19px;line-height:1.6}
.prototype-wrap{display:flex;justify-content:center;padding:20px 0 40px}.prototype-shell{position:relative}.prototype-label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 15px;font-size:12px;color:var(--texte-2)}.prototype-label button{color:var(--accent);font-weight:600}.prototype-shell>.pf-phone{border-radius:20px;box-shadow:0 12px 40px #6B686617}.render-screen{margin:0;padding:0;background:var(--fond)}.render-screen .pf-phone{border:0;border-radius:0;box-shadow:none}.render-screen *{animation:none!important;transition:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.basket-screen>.powered{position:absolute;bottom:7px;left:0;right:0;z-index:5;margin:0}.add-dish:before{inset:-4px}.photo-veggie img{transform:scale(2.65);transform-origin:50% 74%}
.dish-photo.photo-double img{transform:scale(1.65);transform-origin:50% 58%;object-position:50% 60%}.composer-photo.photo-double img{transform:none;object-position:50% 61%}
@keyframes pop{0%{transform:scale(.8)}55%{transform:scale(1.16)}100%{transform:scale(1)}}@keyframes rise{from{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes breathe{50%{opacity:.8}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1260px){.boards{grid-template-columns:repeat(2,390px)}.showcase{max-width:876px}}
@media(max-width:850px){.boards{grid-template-columns:390px}.showcase{padding:26px 12px}.showcase-header{max-width:390px;margin:0 auto 28px;gap:12px}.showcase-header h1{font-size:24px}.test-link{padding:13px;font-size:12px}.showcase-header p{font-size:11px}.credits{max-width:390px;margin:25px auto 0}}
@media(max-width:414px){.showcase{padding:24px 0}.boards{display:flex;flex-direction:column;align-items:center;gap:26px}.board,.pf-phone{width:min(390px,100vw)}.board-label{padding-left:16px}.showcase-header{padding:0 16px}.prototype-wrap{padding:12px 0}.prototype-shell>.pf-phone{border-radius:0;box-shadow:none}.prototype-label{padding:0 16px 12px}}

@media(max-width:370px){.dish{gap:9px;padding:10px}.dish h3{font-size:13px}.dish p{font-size:11px;overflow:hidden;text-overflow:ellipsis}.add-dish{width:36px;height:36px}.brand-inline .brand-text{font-size:15px}}

/* Native mobile page: the ordering flow opens immediately. */
.live-app{width:100%;max-width:430px;height:100vh;height:100dvh;margin:0 auto;background:var(--fond)}
.live-app>.pf-phone{width:100%;height:100%;min-height:560px}
.live-app .bottom-dock{padding-bottom:max(26px,env(safe-area-inset-bottom))}
.live-app .basket-screen>.powered{bottom:7px}
@media(min-width:700px){.live-app{width:390px;height:844px;margin:24px auto;border-radius:20px;box-shadow:0 8px 35px #6B686611}.live-app>.pf-phone{border-radius:20px}}

/* A short, restrained welcome, followed by a single four-step composition. */
.splash-inner{animation:welcome-in .45s ease both}
.splash-dots i{animation-duration:1.5s}
@keyframes welcome-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(-19px)}}
.progress-step:disabled{cursor:default}
.single-product-emoji{display:grid;place-items:center;height:100%;font-size:62px}
.checkout-screen{height:100%;padding:28px 20px 0}
.checkout-top{display:flex;align-items:center;gap:12px}
.checkout-scroll{position:absolute;top:100px;left:20px;right:20px;bottom:104px;overflow:auto;scrollbar-width:none;padding-bottom:18px}
.checkout-scroll h1{margin:0 0 19px}
.checkout-total{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px;background:var(--carte);border-radius:20px;font-size:12px;color:var(--texte-2)}
.checkout-total strong{font:600 18px Inter,sans-serif;white-space:nowrap;color:var(--texte)}
.checkout-scroll .name-field{margin-top:18px}
.checkout-scroll .name-field>span{font-size:14px}
.phone-help,.field-error{font-size:12px;line-height:1.5;color:var(--texte-2);margin:8px 2px 0}
.name-field input[aria-invalid=true]{outline:2px solid var(--accent)}
.payment-options{padding:0;margin:25px 0 0;border:0;min-width:0}
.payment-options legend{font-size:14px;font-weight:600;margin-bottom:13px}
.payment-option{position:relative;display:flex;align-items:center;gap:12px;padding:17px 14px;margin-bottom:10px;border-radius:20px;background:var(--carte);cursor:pointer;min-height:91px}
.payment-option.selected{background:var(--accent-clair)}
.payment-option input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.payment-option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.payment-option>.emoji{font-size:25px;flex-shrink:0}
.payment-copy{flex:1}
.payment-copy strong{display:block;font-size:15px;font-weight:600}
.payment-copy small{display:block;font-size:12px;line-height:1.45;color:var(--texte-2);margin-top:5px}
.payment-indicator{width:20px;height:20px;border:1.5px solid #6B686659;border-radius:50%;flex-shrink:0;background:var(--carte)}
.selected .payment-indicator{border:6px solid var(--accent)}
.payment-notice{font-size:12px;line-height:1.5;color:var(--texte-2);padding:2px 3px 0;margin:0}
.primary-button:disabled{background:var(--texte-2);opacity:.55;box-shadow:none;cursor:not-allowed}
.confirmation-inner .demo-note{font-size:12px;max-width:280px;margin:25px auto 0}
@media(max-height:730px){.composer-sheet{top:55px}.composer-photo{height:112px}.composer-content{padding-top:13px}.composer-content h1{font-size:22px}.composer-progress{padding-top:12px}.confirmation-inner{top:205px}}
.test-payment-note{display:grid;gap:8px;background:var(--carte);padding:16px;border-radius:20px;margin-top:16px;color:var(--texte-2);font-size:14px;line-height:1.45}.test-payment-note strong{color:var(--texte);font-weight:600}.test-payment-note>span{font-size:17px;letter-spacing:.5px;color:var(--texte)}.test-payment-note small{font-size:13px}
