:root{--fg-color: rgb(55, 53, 47);--fg-color-0: rgba(55, 53, 47, .06);--fg-color-1: rgba(55, 53, 47, .12);--fg-color-2: rgba(55, 53, 47, .5);--fg-color-3: rgba(55, 53, 47, .65);--fg-color-6: rgba(55, 53, 47, .85);--bg-color: #ffffff;--bg-color-1: #f8f9fb;--bg-color-2: #f1f3f5;--select-color-0: rgb(46, 170, 220);--divider: rgba(0, 0, 0, .06);--accent: rgb(82, 10, 21);--accent-light: rgba(82, 10, 21, .06);--accent-hover: rgb(65, 8, 16);--primary-color: #520a15;--orange: rgb(245, 158, 11);--orange-bg: rgba(245, 158, 11, .08);--blue: rgb(59, 130, 246);--blue-bg: rgba(59, 130, 246, .08);--green: rgb(34, 197, 94);--green-bg: rgba(34, 197, 94, .08);--red: rgb(239, 68, 68);--red-bg: rgba(239, 68, 68, .08);--purple: rgb(139, 92, 246);--purple-bg: rgba(139, 92, 246, .08);--font-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--max-width: 1280px;--content-max: 680px;--sidebar-w: 360px;--header-height: 54px;--page-x: clamp(16px, 4vw, 80px);--radius-xs: 4px;--radius-s: 6px;--radius-m: 10px;--radius-l: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .02);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .03);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .08), 0 8px 16px rgba(0, 0, 0, .04);--shadow-popup: 0 0 0 1px rgba(0, 0, 0, .04), 0 8px 32px rgba(0, 0, 0, .1);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=soft-dark]{--fg-color: rgb(225, 220, 210);--fg-color-0: rgba(225, 220, 210, .06);--fg-color-1: rgba(225, 220, 210, .12);--fg-color-2: rgba(225, 220, 210, .55);--fg-color-3: rgba(225, 220, 210, .7);--fg-color-6: rgba(225, 220, 210, .9);--bg-color: #2a2520;--bg-color-1: #352f28;--bg-color-2: #3d362e;--select-color-0: rgb(46, 170, 220);--divider: rgba(255, 255, 255, .08);--accent: rgb(160, 60, 75);--accent-light: rgba(160, 60, 75, .12);--accent-hover: rgb(180, 80, 95);--primary-color: #A03C4B;--orange: rgb(251, 191, 36);--orange-bg: rgba(251, 191, 36, .12);--blue: rgb(96, 165, 250);--blue-bg: rgba(96, 165, 250, .12);--green: rgb(74, 222, 128);--green-bg: rgba(74, 222, 128, .12);--red: rgb(248, 113, 113);--red-bg: rgba(248, 113, 113, .12);--purple: rgb(167, 139, 250);--purple-bg: rgba(167, 139, 250, .12);--shadow-xs: 0 1px 2px rgba(0,0,0,.15);--shadow-sm: 0 2px 4px rgba(0,0,0,.12);--shadow-md: 0 4px 12px rgba(0,0,0,.2);--shadow-lg: 0 8px 24px rgba(0,0,0,.25);--shadow-popup: 0 0 0 1px rgba(255,255,255,.06), 0 8px 32px rgba(0,0,0,.35);--shadow-card: 0 1px 3px rgba(0,0,0,.12);--shadow-card-hover: 0 8px 24px rgba(0,0,0,.2);color-scheme:dark}[data-theme=dark]{--fg-color: rgb(229, 231, 235);--fg-color-0: rgba(229, 231, 235, .06);--fg-color-1: rgba(229, 231, 235, .12);--fg-color-2: rgba(229, 231, 235, .55);--fg-color-3: rgba(229, 231, 235, .7);--fg-color-6: rgba(229, 231, 235, .9);--bg-color: #18181b;--bg-color-1: #27272a;--bg-color-2: #3f3f46;--select-color-0: rgb(46, 170, 220);--divider: rgba(255, 255, 255, .08);--accent: rgb(170, 55, 70);--accent-light: rgba(170, 55, 70, .1);--accent-hover: rgb(190, 75, 90);--primary-color: #AA3746;--orange: rgb(251, 191, 36);--orange-bg: rgba(251, 191, 36, .12);--blue: rgb(96, 165, 250);--blue-bg: rgba(96, 165, 250, .12);--green: rgb(74, 222, 128);--green-bg: rgba(74, 222, 128, .12);--red: rgb(248, 113, 113);--red-bg: rgba(248, 113, 113, .12);--purple: rgb(167, 139, 250);--purple-bg: rgba(167, 139, 250, .12);--shadow-xs: 0 1px 2px rgba(0,0,0,.2);--shadow-sm: 0 2px 4px rgba(0,0,0,.15);--shadow-md: 0 4px 12px rgba(0,0,0,.25);--shadow-lg: 0 8px 24px rgba(0,0,0,.3);--shadow-popup: 0 0 0 1px rgba(255,255,255,.06), 0 8px 32px rgba(0,0,0,.4);--shadow-card: 0 1px 3px rgba(0,0,0,.15);--shadow-card-hover: 0 8px 24px rgba(0,0,0,.25);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-color);color:var(--fg-color);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}.skip-to-content{position:absolute;top:-100px;left:50%;transform:translate(-50%);z-index:9999;padding:12px 24px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;border-radius:var(--radius-m);text-decoration:none;transition:top .2s ease}.skip-to-content:focus{top:10px;outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:inherit;font-size:16px}img{max-width:100%;display:block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fg-color-1);border-radius:20px;border:3px solid transparent;background-clip:padding-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%{transform:scale(1)}30%{transform:scale(1.35)}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes checkCircle{0%{stroke-dashoffset:166}to{stroke-dashoffset:0}}@keyframes checkPath{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}@keyframes heroFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(5deg)}50%{transform:translateY(-6px) rotate(-3deg)}75%{transform:translateY(-16px) rotate(4deg)}}.fade-in{animation:fadeIn .25s ease-out}button:active:not(:disabled){transform:scale(.97)}@media(max-width:480px){:root{--page-x: 14px;--header-height: 50px}}@media(max-width:359px){:root{--page-x: 10px;--header-height: 46px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px}.error-boundary-card{text-align:center;max-width:400px}.error-boundary-emoji{font-size:48px;display:block;margin-bottom:16px}.error-boundary-title{font-size:24px;font-weight:700;color:var(--fg-color);margin-bottom:8px}.error-boundary-desc{font-size:15px;color:var(--fg-color-3);line-height:1.5;margin-bottom:24px}.error-boundary-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--fg-color);color:#fff;border-radius:var(--radius-l);font-size:15px;font-weight:600;border:none;cursor:pointer;transition:all .12s}.error-boundary-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}[data-theme=dark] .error-boundary-btn{background:var(--accent)}[data-theme=dark] .error-boundary-btn:hover{background:var(--accent-hover)}.upi-app-buttons{display:flex;flex-direction:column;gap:12px;padding:16px 0}.upi-app-buttons-label{font-size:12px;font-weight:600;color:var(--fg-color-2);text-transform:uppercase;letter-spacing:.05em;margin:0}.upi-app-buttons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.upi-app-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--app-bg, rgba(0, 0, 0, .04));border:1px solid var(--divider);border-radius:var(--radius-m);cursor:pointer;transition:all .15s ease}.upi-app-btn:hover{border-color:var(--app-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.upi-app-btn:active{transform:translateY(0)}.upi-app-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upi-app-btn.loading{opacity:.7}.upi-app-btn-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff}.upi-app-btn-name{font-size:11px;font-weight:600;color:var(--fg-color);white-space:nowrap}.upi-app-generic{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;font-size:13px;font-weight:600;color:var(--fg-color);background:var(--bg-color);border:1px solid var(--divider);border-radius:var(--radius-m);cursor:pointer;transition:all .12s ease}.upi-app-generic:hover{background:var(--bg-color-1);border-color:var(--fg-color-2)}.upi-app-generic:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .upi-app-btn{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .upi-app-btn:hover{background:#ffffff14;border-color:var(--app-color)}[data-theme=dark] .upi-app-btn-name{color:#ffffffe6}[data-theme=dark] .upi-app-generic{background:#ffffff0a;border-color:#ffffff14;color:#ffffffe6}[data-theme=dark] .upi-app-generic:hover{background:#ffffff14;border-color:#ffffff26}@media(max-width:359px){.upi-app-buttons-grid{gap:6px}.upi-app-btn{padding:10px 6px}.upi-app-btn-icon{width:32px;height:32px;font-size:14px}.upi-app-btn-name{font-size:10px}.upi-app-generic{padding:10px 12px;font-size:12px}}.payqr-overlay{position:fixed;inset:0;z-index:200;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px 16px;animation:payqrFadeIn .2s ease-out;overflow-y:auto}@keyframes payqrFadeIn{0%{opacity:0}to{opacity:1}}.payqr-modal{width:100%;max-width:380px;animation:payqrSlideUp .35s ease-out}@keyframes payqrSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.payqr-banner{text-align:center;padding:0 0 16px}.payqr-banner-title{font-size:28px;font-weight:900;color:#fff;letter-spacing:.04em;line-height:1.1;margin-bottom:4px}.payqr-banner-sub{font-size:12px;color:#ffffffb3;font-weight:400;font-style:italic}.payqr-ticket{position:relative;background:#fff;border:3px solid #1a1a1a;border-radius:20px;overflow:hidden}.payqr-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000000f;border:none;color:#1a1a1a;cursor:pointer;transition:background .1s;z-index:2}.payqr-close:hover{background:#0000001f}.payqr-ticket-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}.payqr-ticket-brand{display:flex;align-items:center;gap:8px}.payqr-ticket-logo{height:28px;width:auto;object-fit:contain}.payqr-ticket-brand-name{font-size:16px;font-weight:800;color:#1a1a1a;letter-spacing:-.01em}.payqr-ticket-code{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.payqr-ticket-code-label{font-size:9px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.12em}.payqr-ticket-code-value{font-size:13px;font-weight:800;color:#1a1a1a;font-family:var(--font-mono);letter-spacing:.02em}.payqr-ticket-qr{display:flex;justify-content:center;padding:8px 32px 20px}.payqr-ticket-qr-img{width:100%;max-width:260px;height:auto;display:block}.payqr-ticket-info{padding:0 24px 18px;display:flex;flex-direction:column;gap:12px}.payqr-ticket-field{display:flex;flex-direction:column;gap:2px}.payqr-ticket-label{font-size:9px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.12em}.payqr-ticket-value{font-size:17px;font-weight:800;color:#1a1a1a;letter-spacing:.01em}.payqr-ticket-tear{display:flex;align-items:center;position:relative;height:24px;margin:0 -3px}.payqr-ticket-notch{width:24px;height:24px;border-radius:50%;flex-shrink:0;position:relative;z-index:1}.payqr-ticket-notch.left{margin-left:-9px;background:#1a1a1a}.payqr-ticket-notch.right{margin-right:-9px;background:#1a1a1a}.payqr-ticket-dashes{flex:1;height:0;border-top:3px dashed #ccc}.payqr-ticket-stub{display:flex;flex-direction:column;gap:6px;padding:16px 24px 20px}.payqr-ticket-upi-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payqr-ticket-stub-value{font-size:14px;font-weight:800;color:#1a1a1a;font-family:var(--font-mono)}.payqr-ticket-copy{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#1a1a1a;padding:3px 10px;border-radius:6px;cursor:pointer;background:none;border:2px solid #1a1a1a;transition:all .1s}.payqr-ticket-copy:hover{background:#1a1a1a;color:#fff}.payqr-ticket-app-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#fff;background:#1a1a1a;padding:7px 16px;border-radius:8px;text-decoration:none;transition:all .12s;align-self:flex-start;margin-top:2px}.payqr-ticket-app-btn:hover{background:#333;transform:translateY(-1px)}.payqr-url{text-align:center;font-size:16px;font-weight:900;color:#fff;letter-spacing:.02em;padding:14px 0 4px;text-transform:uppercase}@media(max-width:359px){.payqr-overlay{padding:16px 8px 8px}.payqr-modal{max-width:calc(100vw - 16px);width:100%}.payqr-banner-title{font-size:18px}.payqr-banner-sub{font-size:10px}.payqr-ticket{border-width:2px;border-radius:12px}.payqr-ticket-top{padding:12px 12px 8px}.payqr-ticket-logo{height:20px}.payqr-ticket-brand-name{font-size:13px}.payqr-ticket-code-value{font-size:10px}.payqr-ticket-qr{padding:2px 12px 10px}.payqr-ticket-qr-img{max-width:160px}.payqr-ticket-info{padding:0 12px 12px;gap:6px}.payqr-ticket-value{font-size:13px}.payqr-ticket-stub{padding:10px 12px 14px}.payqr-ticket-stub-value{font-size:11px}.payqr-ticket-app-btn{font-size:10px;padding:5px 10px}.payqr-url{font-size:11px}}@media(min-width:360px)and (max-width:480px){.payqr-overlay{padding:24px 12px 12px}.payqr-modal{max-width:calc(100vw - 24px);width:100%}.payqr-banner-title{font-size:22px}.payqr-ticket{border-radius:14px}.payqr-ticket-top{padding:14px 16px 10px}.payqr-ticket-logo{height:22px}.payqr-ticket-brand-name{font-size:14px}.payqr-ticket-qr{padding:4px 16px 14px}.payqr-ticket-qr-img{max-width:200px}.payqr-ticket-info{padding:0 16px 14px;gap:10px}.payqr-ticket-value{font-size:14px}.payqr-ticket-stub{padding:12px 16px 16px}.payqr-ticket-stub-value{font-size:12px}.payqr-url{font-size:13px}}.reservation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.reservation-modal{background:var(--bg-color);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003;animation:slideUp .25s ease-out}.reservation-modal.success{max-width:400px}.reservation-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--divider)}.reservation-header-left{display:flex;align-items:center;gap:8px}.reservation-header h2{font-size:18px;font-weight:700;color:var(--fg-color);margin:0}.reservation-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-s);background:none;border:none;color:var(--fg-color-2);cursor:pointer;transition:all .1s}.reservation-back-btn:hover{background:#37352f0f;color:var(--fg-color)}.reservation-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-s);background:none;border:none;color:var(--fg-color-2);cursor:pointer;transition:all .1s}.reservation-close-btn:hover{background:#37352f0f;color:var(--fg-color)}.reservation-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:20px 24px 16px}.reservation-step{display:flex;align-items:center;gap:8px}.reservation-step-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--bg-color-1);color:var(--fg-color-2);border:1px solid var(--divider);transition:all .2s}.reservation-step.active .reservation-step-num{background:var(--accent);color:#fff;border-color:var(--accent)}.reservation-step-label{font-size:13px;font-weight:600;color:var(--fg-color-2)}.reservation-step.active .reservation-step-label{color:var(--fg-color)}.reservation-step-line{width:40px;height:2px;background:var(--divider);margin:0 12px}.reservation-form{padding:0 24px 24px}.reservation-field{margin-bottom:20px}.reservation-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--fg-color);margin-bottom:10px}.reservation-field label svg{color:var(--fg-color-2)}.reservation-party-sizes{display:flex;gap:8px;flex-wrap:wrap}.reservation-party-btn{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-m);background:var(--bg-color-1);border:1px solid var(--divider);font-size:15px;font-weight:600;color:var(--fg-color);cursor:pointer;transition:all .15s}.reservation-party-btn:hover{border-color:var(--fg-color-2);background:var(--bg-color)}.reservation-party-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.reservation-dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.reservation-date-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px;padding:10px 12px;border-radius:var(--radius-m);background:var(--bg-color-1);border:1px solid var(--divider);cursor:pointer;transition:all .15s;flex-shrink:0}.reservation-date-btn:hover{border-color:var(--fg-color-2)}.reservation-date-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.reservation-date-day{font-size:11px;font-weight:600;color:var(--fg-color-2);text-transform:uppercase;letter-spacing:.02em}.reservation-date-btn.active .reservation-date-day{color:#fffc}.reservation-date-num{font-size:18px;font-weight:700;color:var(--fg-color)}.reservation-date-btn.active .reservation-date-num{color:#fff}.reservation-date-select{width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--divider);border-radius:var(--radius-m);background:var(--bg-color-1);color:var(--fg-color);cursor:pointer}.reservation-times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.reservation-time-btn{padding:10px 8px;border-radius:var(--radius-m);background:var(--bg-color-1);border:1px solid var(--divider);font-size:13px;font-weight:600;color:var(--fg-color);cursor:pointer;transition:all .15s}.reservation-time-btn:hover{border-color:var(--fg-color-2)}.reservation-time-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.reservation-hint{font-size:13px;color:var(--fg-color-2);margin:0}.reservation-slots-loading{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-color-2)}.reservation-no-slots{font-size:13px;color:var(--orange);margin:0}.reservation-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--divider);border-radius:var(--radius-m);background:var(--bg-color-1);color:var(--fg-color);outline:none;transition:border-color .15s,box-shadow .15s}.reservation-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb, 82, 10, 21),.1)}.reservation-input::placeholder{color:var(--fg-color-2)}.reservation-select{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--divider);border-radius:var(--radius-m);background:var(--bg-color-1);color:var(--fg-color);cursor:pointer}.reservation-textarea{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--divider);border-radius:var(--radius-m);background:var(--bg-color-1);color:var(--fg-color);outline:none;resize:vertical;font-family:inherit;transition:border-color .15s}.reservation-textarea:focus{border-color:var(--accent)}.reservation-tables{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reservation-table-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;background:var(--bg-color-1);border:1px solid var(--divider);border-radius:var(--radius-m);cursor:pointer;transition:all .15s}.reservation-table-btn:hover{border-color:var(--accent);background:#6366f10d}.reservation-table-btn.active{border-color:#22c55e;background:#22c55e1a}.reservation-table-name{font-size:14px;font-weight:600;color:var(--fg-color)}.reservation-table-seats{font-size:11px;color:var(--fg-color-2)}.reservation-table-status{font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.02em}.reservation-table-status.available{background:#22c55e1f;color:#22c55e}.reservation-table-status.occupied{background:#ef44441f;color:#ef4444}.reservation-table-status.reserved{background:#f59e0b1f;color:#f59e0b}.reservation-table-btn.occupied{opacity:.5;cursor:not-allowed;border-color:var(--divider)}.reservation-table-btn.occupied:hover{border-color:var(--divider);background:transparent}.reservation-table-btn.available{border-color:#22c55e4d}.reservation-table-btn.available:hover{border-color:#22c55e;background:#22c55e0d}.reservation-table-btn.reserved{border-color:#f59e0b4d}.reservation-table-btn.reserved:hover{border-color:#f59e0b;background:#f59e0b0d}.reservation-tables-note{grid-column:1 / -1;font-size:13px;color:var(--fg-color-2);text-align:center;padding:12px;margin:0}.reservation-table-selected{margin:10px 0 0;font-size:13px;color:#22c55e}.reservation-summary{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 16px;margin-bottom:20px;background:var(--bg-color-1);border-radius:var(--radius-m);border:1px solid var(--divider)}.reservation-summary span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--fg-color)}.reservation-summary span svg{color:var(--accent)}.reservation-next-btn,.reservation-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:8px;border-radius:var(--radius-m);font-size:15px;font-weight:600;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:all .15s}.reservation-next-btn:hover:not(:disabled),.reservation-submit-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.reservation-next-btn:disabled,.reservation-submit-btn:disabled{opacity:.5;cursor:not-allowed}.reservation-error{display:flex;align-items:center;gap:8px;padding:12px 16px;margin:0 24px 16px;background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-m);font-size:13px;font-weight:500;color:#dc2626}.reservation-success{padding:40px 24px;text-align:center}.reservation-success-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#22c55e1a;color:#22c55e;display:flex;align-items:center;justify-content:center}.reservation-success h2{font-size:22px;font-weight:700;color:var(--fg-color);margin:0 0 8px}.reservation-success>p{font-size:15px;color:var(--fg-color-2);margin:0 0 24px}.reservation-success-details{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg-color-1);border-radius:var(--radius-m);margin-bottom:16px}.reservation-success-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:600;color:var(--fg-color)}.reservation-success-row svg{color:var(--accent)}.reservation-success-id{font-size:13px;color:var(--fg-color-2);padding:10px 16px;background:var(--bg-color-1);border-radius:var(--radius-s);margin-bottom:16px}.reservation-success-id strong{color:var(--fg-color);font-family:var(--font-mono)}.reservation-success-note{font-size:13px;color:var(--fg-color-2);margin:0 0 20px;line-height:1.5}.reservation-success-btn{padding:12px 32px;border-radius:var(--radius-m);font-size:15px;font-weight:600;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:all .15s}.reservation-success-btn:hover{filter:brightness(1.1)}.reservation-upcoming-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 48px);margin:12px 24px;padding:10px 16px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-m);font-size:13px;font-weight:600;color:#3b82f6;cursor:pointer;transition:all .15s}.reservation-upcoming-toggle:hover{background:#3b82f61f}.reservation-upcoming-list{padding:0 24px 24px;display:flex;flex-direction:column;gap:12px}.reservation-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--bg-color-1);border:1px solid var(--divider);border-radius:var(--radius-m)}.reservation-upcoming-info{flex:1;min-width:0}.reservation-upcoming-date{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--fg-color);margin-bottom:6px}.reservation-upcoming-date svg{color:var(--accent)}.reservation-upcoming-details{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--fg-color-2)}.reservation-upcoming-details span{display:flex;align-items:center;gap:4px}.reservation-upcoming-status{padding:2px 8px;border-radius:var(--radius-s);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.reservation-upcoming-status.pending{background:#f59e0b1a;color:#f59e0b}.reservation-upcoming-status.confirmed{background:#22c55e1a;color:#22c55e}.reservation-upcoming-status.seated{background:#3b82f61a;color:#3b82f6}.reservation-upcoming-table{font-size:12px;color:var(--fg-color-2);margin-top:4px}.reservation-cancel-btn{padding:6px 14px;border-radius:var(--radius-s);font-size:12px;font-weight:600;background:#dc262614;border:1px solid rgba(220,38,38,.2);color:#dc2626;cursor:pointer;transition:all .15s;flex-shrink:0}.reservation-cancel-btn:hover{background:#dc262626}[data-theme=dark] .reservation-modal{box-shadow:0 20px 40px #0006}[data-theme=dark] .reservation-back-btn:hover,[data-theme=dark] .reservation-close-btn:hover,[data-theme=dark] .reservation-party-btn:hover,[data-theme=dark] .reservation-date-btn:hover,[data-theme=dark] .reservation-time-btn:hover{background:#ffffff0f}[data-theme=dark] .reservation-error{background:#dc26261f;border-color:#dc26264d}[data-theme=dark] .reservation-success-icon{background:#22c55e26}[data-theme=dark] .reservation-upcoming-toggle{background:#3b82f61f;border-color:#3b82f640}[data-theme=dark] .reservation-upcoming-toggle:hover{background:#3b82f62e}[data-theme=dark] .reservation-cancel-btn{background:#dc26261f;border-color:#dc262640}[data-theme=dark] .reservation-cancel-btn:hover{background:#dc262633}@media(max-width:480px){.reservation-modal{max-height:95vh;margin:10px}.reservation-header{padding:14px 16px}.reservation-form{padding:0 16px 20px}.reservation-steps{padding:16px 16px 12px}.reservation-step-label{font-size:11px}.reservation-step-line{width:24px;margin:0 8px}.reservation-times{grid-template-columns:repeat(3,1fr)}.reservation-summary{flex-wrap:wrap;gap:10px}.reservation-success{padding:30px 16px}.reservation-upcoming-toggle{margin:10px 16px;width:calc(100% - 32px)}.reservation-upcoming-list{padding:0 16px 16px}}.header{position:sticky;top:0;z-index:100;height:var(--header-height);background:#fffffff7;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--divider);display:flex;align-items:center}.header-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--page-x);display:flex;align-items:center;justify-content:space-between;height:100%}.header-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.header-logo{height:36px;width:auto;object-fit:contain;flex-shrink:0}.header-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.header-title{font-size:16px;font-weight:700;color:var(--fg-color);white-space:nowrap}.header-tagline{font-size:11px;color:var(--fg-color-2);letter-spacing:.06em;text-transform:uppercase}.header-nav{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:nowrap}.header-link{font-size:15px;color:var(--fg-color-3);font-weight:500;padding:6px 14px;border-radius:var(--radius-m);transition:background .08s,color .08s;white-space:nowrap;flex-shrink:0}.header-link:hover{background:#37352f0a;color:var(--fg-color)}.header-link.active{color:var(--fg-color);background:#37352f0f}.header-cart{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-m);color:var(--fg-color);transition:background .08s;margin-left:4px}.header-cart:hover{background:#37352f0a}.header-badge{position:absolute;top:2px;right:0;background:var(--accent);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}.header-badge.bounce{animation:bounce .4s ease}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-m);color:var(--fg-color);transition:background .08s}.header-icon-btn:hover{background:#37352f0a}.header-icon-btn.has-avatar{width:32px;height:32px;border-radius:50%}.header-icon-btn.has-avatar .header-avatar-icon,.header-icon-btn.has-avatar .header-avatar-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff}.header-icon-btn.has-avatar:hover{opacity:.85;transform:scale(1.05)}.header-avatar-emoji{font-size:17px;line-height:1}.header-avatar-icon{color:#fff}.header-icon-btn{position:relative}.header-icon-btn.has-pending{animation:none}.header-pending-badge{position:absolute;top:-4px;right:-6px;background:#22c55e;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;box-shadow:0 1px 3px #00000026;animation:pendingPulse 2s ease-in-out infinite;z-index:1;border:2px solid var(--bg-color)}@keyframes pendingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}[data-theme=dark] .header-pending-badge{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .header-icon-btn:hover{background:#ffffff0f}[data-theme=dark] .header-icon-btn.has-avatar:hover{background:none}.header-theme-selector{display:flex;align-items:center;gap:0;background:var(--bg-color-1);border:1px solid var(--divider);border-radius:var(--radius-m);padding:3px}.header-theme-option{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:calc(var(--radius-m) - 2px);background:transparent;border:none;color:var(--fg-color-3);cursor:pointer;transition:all .15s ease}.header-theme-option:hover{color:var(--fg-color);background:#37352f0f}.header-theme-option.active{color:var(--accent);background:var(--bg-color);box-shadow:0 1px 3px #0000001a}[data-theme=dark] .header-theme-selector,[data-theme=soft-dark] .header-theme-selector{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .header-theme-option:hover,[data-theme=soft-dark] .header-theme-option:hover{background:#ffffff0f}[data-theme=dark] .header-theme-option.active,[data-theme=soft-dark] .header-theme-option.active{background:#ffffff1a}.header-reserve-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px 5px 10px;border-radius:20px;background:#3b82f614;color:#3b82f6;font-size:13px;font-weight:600;border:1.5px solid rgba(59,130,246,.25);cursor:pointer;transition:all .12s;white-space:nowrap}.header-reserve-btn:hover{background:#3b82f626;border-color:#3b82f666}.header-reserve-label{pointer-events:none}[data-theme=dark] .header-reserve-btn,[data-theme=soft-dark] .header-reserve-btn{background:#3b82f61f;border-color:#3b82f64d;color:#60a5fa}[data-theme=dark] .header-reserve-btn:hover,[data-theme=soft-dark] .header-reserve-btn:hover{background:#3b82f633;border-color:#3b82f680}.header-pay-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 14px 5px 10px;border-radius:20px;background:none;color:var(--fg-color);font-size:13px;font-weight:600;border:1.5px solid var(--fg-color-1);cursor:pointer;transition:all .12s;white-space:nowrap}.header-pay-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.header-pay-icon{display:flex;align-items:center;justify-content:center}.header-pay-label{pointer-events:none}[data-theme=dark] .header-pay-btn{border-color:var(--fg-color-1);color:var(--fg-color)}[data-theme=dark] .header-pay-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.header-lang-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-m);background:none;border:1.5px solid var(--divider);color:var(--fg-color-2);font-size:11px;font-weight:700;cursor:pointer;transition:all .12s;white-space:nowrap}.header-lang-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.header-lang-label{letter-spacing:.04em}.header-lang-chevron{transition:transform .2s ease;margin-left:1px}.header-lang-chevron.open{transform:rotate(180deg)}[data-theme=dark] .header-lang-btn{border-color:#ffffff1a;color:#ffffff80}[data-theme=dark] .header-lang-btn:hover{border-color:var(--accent);color:var(--accent)}.header-lang-dropdown-wrap{position:relative}.header-lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--bg-color);border:1px solid var(--divider);border-radius:var(--radius-m);box-shadow:0 4px 16px #0000001f;overflow:hidden;z-index:200;animation:headerDropdownFadeIn .15s ease}@keyframes headerDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header-lang-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:none;background:transparent;font-size:12px;color:var(--fg-color-3);cursor:pointer;transition:all .15s ease}.header-lang-option:hover{background:#37352f0f;color:var(--fg-color)}.header-lang-option.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.header-lang-option-label{font-weight:500}.header-lang-option-short{font-size:10px;font-weight:700;opacity:.6;letter-spacing:.03em}[data-theme=dark] .header-lang-dropdown,[data-theme=soft-dark] .header-lang-dropdown{background:var(--bg-color-1);box-shadow:0 4px 20px #0000004d}[data-theme=dark] .header-lang-option:hover,[data-theme=soft-dark] .header-lang-option:hover{background:#ffffff0f}.header-owner-tag{font-size:13px;font-weight:500;color:var(--accent);background:var(--accent-light);padding:4px 12px;border-radius:var(--radius-s)}.header-theme-dropdown-wrap{position:relative}.header-theme-mobile{display:none}.header-theme-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-m);background:var(--bg-color-1);border:1px solid var(--divider);color:var(--fg-color-3);cursor:pointer;transition:all .12s}.header-theme-btn:hover{border-color:var(--accent);color:var(--accent)}.header-theme-chevron{transition:transform .2s ease}.header-theme-chevron.open{transform:rotate(180deg)}.header-theme-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--bg-color);border:1px solid var(--divider);border-radius:var(--radius-m);box-shadow:0 4px 16px #0000001f;overflow:hidden;z-index:200;animation:headerDropdownFadeIn .15s ease}.header-theme-dropdown-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;font-size:13px;color:var(--fg-color-3);cursor:pointer;transition:all .15s ease}.header-theme-dropdown-option:hover{background:#37352f0f;color:var(--fg-color)}.header-theme-dropdown-option.active{background:var(--accent-light);color:var(--accent);font-weight:600}[data-theme=dark] .header-theme-btn,[data-theme=soft-dark] .header-theme-btn{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .header-theme-btn:hover,[data-theme=soft-dark] .header-theme-btn:hover{border-color:var(--accent);color:var(--accent)}[data-theme=dark] .header-theme-dropdown,[data-theme=soft-dark] .header-theme-dropdown{background:var(--bg-color-1);box-shadow:0 4px 20px #0000004d}[data-theme=dark] .header-theme-dropdown-option:hover,[data-theme=soft-dark] .header-theme-dropdown-option:hover{background:#ffffff0f}[data-theme=soft-dark] .header{background:#201c18fa;border-bottom-color:#ffffff14}[data-theme=soft-dark] .header-title{color:#e1dcd2}[data-theme=soft-dark] .header-tagline{color:#e1dcd299}[data-theme=soft-dark] .header-link{color:#e1dcd2b3}[data-theme=soft-dark] .header-link:hover{background:#ffffff14;color:#e1dcd2}[data-theme=soft-dark] .header-link.active{background:#a03c4b26;color:var(--accent)}[data-theme=soft-dark] .header-cart{color:#e1dcd2}[data-theme=soft-dark] .header-cart:hover{background:#ffffff14}[data-theme=soft-dark] .header-icon-btn{color:#e1dcd2}[data-theme=soft-dark] .header-icon-btn:hover{background:#ffffff14}[data-theme=soft-dark] .header-pay-btn{color:#e1dcd2;border-color:#e1dcd233}[data-theme=soft-dark] .header-lang-btn{color:#e1dcd299;border-color:#e1dcd226}[data-theme=dark] .header{background:#141414f7;border-bottom-color:#ffffff0f}[data-theme=dark] .header-title{color:#f0f0f0}[data-theme=dark] .header-link{color:#ffffff8c}[data-theme=dark] .header-link:hover{background:#ffffff0f;color:#e8e8e8}[data-theme=dark] .header-link.active{background:#aa37461a;color:var(--accent)}[data-theme=dark] .header-cart:hover{background:#ffffff0f}[data-theme=dark] .header-badge{background:var(--accent)}@media(min-width:1024px){.header-logo{height:38px}.header-title{font-size:17px}.header-link{padding:6px 16px}.header-nav{gap:6px}}@media(min-width:641px)and (max-width:1023px){.header-logo{height:34px}.header-nav{gap:4px}.header-link{font-size:14px;padding:6px 12px}}@media(min-width:481px)and (max-width:640px){.header-inner{padding:0 16px}.header-logo{height:32px}.header-brand-text{display:none}.header-nav{gap:3px}.header-link{font-size:13px;padding:5px 10px}.header-theme-desktop{display:none}.header-theme-mobile{display:block}.header-theme-btn{padding:5px 8px}.header-icon-btn,.header-cart{width:36px;height:36px}.header-pay-btn,.header-reserve-btn{padding:5px 10px;font-size:12px}}@media(min-width:360px)and (max-width:480px){.header-inner{padding:0 12px}.header-brand-text{display:none}.header-logo{height:28px}.header-nav{gap:2px}.header-link{font-size:13px;padding:5px 8px}.header-icon-btn{width:32px;height:32px}.header-icon-btn.has-avatar{width:28px;height:28px}.header-avatar-emoji{font-size:14px}.header-avatar-icon svg{width:14px;height:14px}.header-cart{width:32px;height:32px;margin-left:0}.header-badge{min-width:16px;height:16px;font-size:10px;top:0;right:-2px}.header-pending-badge{min-width:14px;height:14px;font-size:9px;top:-3px;right:-4px;border-width:1.5px}.header-pay-btn{padding:5px 8px;font-size:11px;gap:3px}.header-pay-label{display:none}.header-reserve-btn{padding:5px 8px;font-size:11px;gap:3px}.header-reserve-label{display:none}.header-lang-btn{padding:5px 6px}.header-lang-label,.header-lang-chevron,.header-theme-desktop{display:none}.header-theme-mobile{display:block}.header-theme-btn{padding:5px 6px}.header-theme-chevron{display:none}}@media(max-width:359px){.header-inner{padding:0 8px}.header-brand-text{display:none}.header-logo{height:24px}.header-nav{gap:1px}.header-link{font-size:12px;padding:4px 6px}.header-icon-btn{width:28px;height:28px}.header-icon-btn.has-avatar{width:26px;height:26px}.header-avatar-emoji{font-size:13px}.header-avatar-icon svg{width:12px;height:12px}.header-cart{width:28px;height:28px;margin-left:0}.header-badge{min-width:14px;height:14px;font-size:9px;padding:0 3px;top:-1px;right:-3px}.header-pending-badge{min-width:12px;height:12px;font-size:8px;top:-2px;right:-3px;padding:0 3px;border-width:1px}.header-pay-btn{padding:4px 5px;font-size:0;gap:0;width:28px;height:28px;justify-content:center;border-radius:var(--radius-s)}.header-pay-label{display:none}.header-reserve-btn{padding:4px 5px;font-size:0;gap:0;width:28px;height:28px;justify-content:center;border-radius:var(--radius-s)}.header-reserve-label{display:none}.header-lang-btn{padding:4px 5px}.header-lang-label,.header-lang-chevron,.header-theme-desktop{display:none}.header-theme-mobile{display:block}.header-theme-btn{padding:4px 5px}.header-theme-chevron{display:none}}footer.footer{padding-top:60px;background:var(--bg-color-1)}.footer-gallery{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;height:140px}.footer-gallery-item{overflow:hidden}.footer-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.footer-gallery-item:hover img{transform:scale(1.05)}.footer-main{background:var(--bg-color-1);border-top:1px solid var(--divider);padding:32px var(--page-x) 0}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;padding-bottom:24px}.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}.footer-logo{height:40px;width:auto;object-fit:contain}.footer-brand-name{font-size:17px;font-weight:700;color:var(--fg-color);line-height:1.2}.footer-brand-tag{font-size:12px;color:var(--fg-color-2)}.footer-tagline{font-size:13px;color:var(--fg-color-3);line-height:1.5;margin-bottom:14px;max-width:300px}.footer-quick-links{display:flex;flex-wrap:wrap;gap:6px}.footer-link{font-size:12px;font-weight:500;color:var(--fg-color-3);padding:4px 12px;border-radius:16px;background:var(--bg-color);border:1px solid var(--divider);transition:all .12s}.footer-link:hover{color:var(--fg-color);border-color:var(--fg-color-1)}.footer-link-web{display:inline-flex;align-items:center;gap:4px;text-decoration:none}.footer-link-web:hover{color:var(--accent);border-color:var(--accent)}.footer-col-title{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--fg-color-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.footer-hours-compact{display:flex;flex-direction:column;gap:0}.footer-hc-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:var(--fg-color-3);border-bottom:1px solid var(--divider)}.footer-hc-row:last-child{border-bottom:none}.footer-hc-row.today{color:var(--fg-color);font-weight:600}.footer-hc-row.today span:last-child{color:var(--green)}.footer-contact-item{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--fg-color);font-weight:500;padding:6px 12px;border-radius:var(--radius-m);background:var(--bg-color);border:1px solid var(--divider);transition:all .12s;text-decoration:none}.footer-contact-item:hover{border-color:var(--accent);color:var(--accent)}.footer-address{font-size:13px;color:var(--fg-color-3);line-height:1.5;margin-bottom:10px}.footer-map-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#fff;background:var(--accent);padding:6px 14px;border-radius:var(--radius-m);transition:all .12s;text-decoration:none}.footer-map-btn:hover{opacity:.9;transform:translateY(-1px)}.footer-bottom{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 0;border-top:1px solid var(--divider);font-size:12px;color:var(--fg-color-2);flex-wrap:wrap}.footer-bottom-sep{color:var(--fg-color-2)}.footer-bottom-link{color:var(--accent);font-weight:600;text-decoration:none;transition:opacity .1s}.footer-bottom-link:hover{opacity:.8}[data-theme=dark] .footer-main{background:#141414;border-top-color:#ffffff0a}[data-theme=dark] .footer-brand-name{color:#f0f0f0}[data-theme=dark] .footer-link{background:#1e1e1e;border-color:#ffffff0f}[data-theme=dark] .footer-link:hover{border-color:#aa37464d;color:var(--accent)}[data-theme=dark] .footer-contact-item{background:#1e1e1e;border-color:#ffffff0f}[data-theme=dark] .footer-contact-item:hover{border-color:var(--accent)}[data-theme=dark] .footer-hc-row{border-bottom-color:#ffffff0a}[data-theme=dark] .footer-bottom{border-top-color:#ffffff0a}@media(max-width:359px){.footer-gallery{height:80px}.footer-main{padding:20px var(--page-x) 0}.footer-inner{grid-template-columns:1fr;gap:20px;padding-bottom:16px}.footer-logo{height:32px}}@media(min-width:360px)and (max-width:480px){.footer-gallery{height:100px}.footer-main{padding:24px var(--page-x) 0}.footer-inner{grid-template-columns:1fr;gap:24px;padding-bottom:20px}.footer-logo{height:36px}}@media(min-width:481px)and (max-width:768px){.footer-gallery{height:120px}.footer-inner{grid-template-columns:1fr 1fr;gap:24px}.footer-brand-col{grid-column:1 / -1}}.network-status{position:fixed;top:0;left:0;right:0;z-index:9999;padding:10px 16px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.network-status.offline{background:#dc2626;color:#fff}.network-status.online{background:#22c55e;color:#fff;animation:slideDown .3s ease-out,fadeOut .5s ease-out 2.5s forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-100%)}}.network-status-content{display:flex;align-items:center;gap:8px;max-width:var(--max-width);width:100%;justify-content:center}.network-retry-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-left:8px;font-size:12px;font-weight:600;color:#dc2626;background:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .12s}.network-retry-btn:hover:not(:disabled){background:#f0f0f0}.network-retry-btn:disabled{opacity:.7;cursor:wait}.network-retry-btn .spinning{animation:spin .8s linear infinite}body:has(.network-status.offline){padding-top:40px}@media(max-width:480px){.network-status{padding:8px 12px;font-size:12px}.network-retry-btn{padding:3px 8px;font-size:11px}}.cat-section{margin-bottom:28px}.cat-header{width:100%;display:flex;align-items:center;gap:10px;padding:12px 4px;background:none;border:none;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--divider);margin-bottom:16px;transition:opacity .08s}.cat-header:hover{opacity:.8}.cat-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.cat-icon{font-size:24px;line-height:1;flex-shrink:0}.cat-title{font-size:18px;font-weight:700;color:var(--fg-color);flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cat-tagline{font-size:13px;color:var(--fg-color-2);font-weight:400;white-space:nowrap;flex-shrink:0}.cat-count{font-size:13px;color:var(--fg-color-2);flex-shrink:0;background:var(--bg-color-1);padding:2px 10px;border-radius:12px}.cat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.menu-item-card{border:1px solid var(--divider);border-radius:var(--radius-l);overflow:hidden;background:var(--bg-color);transition:all .15s ease}.menu-item-card:hover{border-color:#37352f33;box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-item-card-visual{height:120px;overflow:hidden;position:relative;background:var(--bg-color-1)}.menu-item-card-shimmer{position:absolute;inset:0;background:linear-gradient(135deg,#520a151a,#f7f6f3cc,#520a1526,#f7f6f3cc,#520a151a);background-size:400% 400%;animation:shimmerBlur 2s ease-in-out infinite;z-index:1;filter:blur(8px)}@keyframes shimmerBlur{0%{background-position:0% 50%;opacity:.8}50%{background-position:100% 50%;opacity:1}to{background-position:0% 50%;opacity:.8}}.menu-item-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,opacity .3s ease;opacity:0}.menu-item-card-img.loaded{opacity:1}.menu-item-card:hover .menu-item-card-img.loaded{transform:scale(1.05)}.menu-item-card-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px}.menu-item-card-header{display:flex;align-items:flex-start;gap:6px}.menu-item-dietary{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:8px;border-radius:2px;flex-shrink:0;margin-top:3px}.menu-item-card-name{font-size:14px;font-weight:600;color:var(--fg-color);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.menu-item-card-desc{font-size:11px;color:var(--fg-color-2);line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-item-card-prep{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--fg-color-2);background:var(--bg-color-1);padding:2px 6px;border-radius:var(--radius-s)}.menu-item-card-popular{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#f97316;border-radius:var(--radius-s);z-index:2}.menu-item-card-new{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:3px;padding:3px 10px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#10b981;border-radius:var(--radius-s);z-index:2}@keyframes newPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.menu-item-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.menu-item-card-price{font-size:16px;font-weight:700;color:var(--fg-color);font-variant-numeric:tabular-nums}.menu-item-card-sizes{display:flex;gap:4px}.menu-item-card-size-btn{font-size:11px;font-weight:600;color:var(--fg-color-3);padding:5px 10px;border-radius:var(--radius-s);border:1px solid var(--divider);background:var(--bg-color);cursor:pointer;transition:all .12s;white-space:nowrap}.menu-item-card-size-btn:hover{color:var(--fg-color);border-color:var(--fg-color-2)}.menu-item-card-size-btn.lg{border-color:var(--divider);color:var(--fg-color-3)}.menu-item-card-size-btn.lg:hover{color:var(--fg-color);border-color:var(--fg-color-2)}.menu-item-card-add{font-size:12px;font-weight:600;color:#fff;padding:6px 14px;border-radius:var(--radius-s);border:none;background:var(--accent);cursor:pointer;transition:all .12s;white-space:nowrap}.menu-item-card-add:hover{opacity:.85}.menu-item-card-stepper{display:inline-flex;align-items:center;border:1px solid var(--divider);border-radius:var(--radius-s);overflow:hidden}.menu-item-card-step{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;cursor:pointer;color:var(--fg-color-2);transition:all .12s}.menu-item-card-step:hover{background:#37352f0f;color:var(--fg-color)}.menu-item-card-qty{min-width:24px;text-align:center;font-size:13px;font-weight:700;color:var(--fg-color);-webkit-user-select:none;user-select:none}.menu-item-card.out-of-stock{opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.menu-item-card.out-of-stock:hover{transform:none;box-shadow:none}.menu-item-card-oos-badge{position:absolute;top:8px;right:8px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--red, #dc2626);border-radius:var(--radius-s);z-index:2}.menu-item-card-oos-label{font-size:12px;font-weight:600;color:var(--red, #dc2626)}.menu-item-card-low-stock{display:inline-flex;font-size:9px;font-weight:600;color:var(--orange, #d97706);background:var(--orange-bg);padding:2px 6px;border-radius:var(--radius-s)}.menu-item-card-customize{display:flex;flex-direction:column;gap:6px;width:100%}.menu-item-card-customize-row{display:flex;align-items:center;gap:6px}.menu-item-card-customize-label{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--fg-color-2);min-width:50px}.menu-item-card-customize-options{display:flex;gap:3px}.menu-item-card-option{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--fg-color-2);background:var(--bg-color-1);border:1px solid var(--divider);border-radius:var(--radius-s);cursor:pointer;transition:all .12s}.menu-item-card-option:hover{border-color:var(--accent);color:var(--accent)}.menu-item-card-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.menu-item-card-fav{position:absolute;top:8px;left:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;color:var(--fg-color-2);transition:all .15s ease;z-index:3;box-shadow:0 1px 4px #0000001a}.menu-item-card-fav:hover{background:#fff;color:#ef4444;transform:scale(1.1)}.menu-item-card-fav.active{color:#ef4444;background:#fff}.menu-item-card-fav.active:hover{color:#dc2626}[data-theme=dark] .menu-item-card-fav{background:#1e1e1ee6}[data-theme=dark] .menu-item-card-fav:hover,[data-theme=dark] .menu-item-card-fav.active{background:#282828f2}.menu-status-loading{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-color-1);border-radius:var(--radius-l);margin-bottom:24px;color:var(--fg-color-2);font-size:13px}.menu-status-loading-spinner{width:16px;height:16px;border:2px solid var(--divider);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .menu-status-loading{background:#ffffff0d}.menu-closed-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#520a1514;border:1px solid rgba(82,10,21,.2);border-radius:var(--radius-l);margin-bottom:24px;color:var(--accent)}.menu-closed-banner div{display:flex;flex-direction:column;gap:2px}.menu-closed-banner strong{font-size:14px;font-weight:700;color:var(--fg-color)}.menu-closed-banner span{font-size:13px;color:var(--fg-color-3)}[data-theme=dark] .menu-item-card{background:#1e1e1e;border-color:#ffffff0f}[data-theme=dark] .menu-item-card:hover{border-color:#aa37464d;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .menu-item-card-visual{background:#252525}[data-theme=dark] .menu-item-card-shimmer{background:linear-gradient(90deg,#252525 25%,#333,#252525 75%);background-size:200% 100%}[data-theme=dark] .menu-item-card-name{color:#e8e8e8}[data-theme=dark] .menu-item-card-price{color:#f0f0f0}[data-theme=dark] .menu-item-card-add{background:var(--accent);color:#fff}[data-theme=dark] .menu-item-card-add:hover{opacity:.85}[data-theme=dark] .menu-item-card-step{color:#ffffff80}[data-theme=dark] .menu-item-card-step:hover{background:#ffffff14;color:#e5e5e5}[data-theme=dark] .menu-item-card-size-btn{background:#1a1a1a;color:#a3a3a3;border-color:#ffffff1a}[data-theme=dark] .menu-item-card-size-btn:hover{color:#e5e5e5;border-color:#fff3}[data-theme=dark] .menu-item-card-stepper{border-color:#ffffff1a}[data-theme=dark] .menu-item-card-qty{color:#e5e5e5}[data-theme=dark] .cat-header{border-bottom-color:#ffffff0f}[data-theme=dark] .menu-closed-banner{background:#aa37461f;border-color:#aa374640}[data-theme=dark] .menu-closed-banner strong{color:#f0f0f0}[data-theme=dark] .menu-closed-banner span{color:#ffffff80}[data-theme=dark] .cat-count{background:#252525}@media(max-width:359px){.cat-header{padding:8px 2px;margin-bottom:10px;gap:6px}.cat-icon{font-size:18px}.cat-title{font-size:14px}.cat-tagline{display:none}.cat-count{font-size:12px;padding:2px 8px}.cat-list{grid-template-columns:repeat(2,1fr);gap:6px}.menu-item-card-visual{height:76px}.menu-item-card-body{padding:8px 10px;gap:6px}.menu-item-card-name{font-size:12px;min-height:30px}.menu-item-card-price{font-size:13px}.menu-item-card-add{padding:5px 10px;font-size:11px}.menu-item-card-step{width:24px;height:24px}.menu-item-card-qty{font-size:12px;min-width:18px}}@media(min-width:360px)and (max-width:480px){.cat-header{padding:10px 2px;margin-bottom:12px}.cat-icon{font-size:20px}.cat-title{font-size:16px}.cat-tagline{display:none}.cat-list{grid-template-columns:repeat(2,1fr);gap:8px}.menu-item-card-visual{height:90px}.menu-item-card-body{padding:10px 12px;gap:8px}.menu-item-card-name{font-size:13px;min-height:34px}.menu-item-card-price{font-size:14px}.menu-item-card-add{padding:4px 12px;font-size:12px}.menu-item-card-step{width:26px;height:26px}.menu-item-card-qty{font-size:13px;min-width:20px}}@media(min-width:481px)and (max-width:640px){.cat-list{grid-template-columns:repeat(3,1fr);gap:10px}.menu-item-card-visual{height:100px}}@media(min-width:641px)and (max-width:1023px){.cat-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.order-modify-overlay,.call-waiter-overlay,.order-receipt-overlay,.spin-wheel-overlay{position:fixed;z-index:9999;transform:translateZ(0);-webkit-transform:translateZ(0)}.menu-floating,.cart-floating{isolation:isolate;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);z-index:90;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.header{isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0);z-index:100}.call-waiter-fab{isolation:isolate;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);z-index:90}@supports (-webkit-touch-callout: none){input[type=text],input[type=tel],input[type=email],input[type=number],input[type=search],textarea,select{font-size:16px!important}}@supports (padding-bottom: env(safe-area-inset-bottom)){.menu-floating,.cart-floating{padding-bottom:max(14px,env(safe-area-inset-bottom))}.call-waiter-fab{bottom:max(90px,calc(80px + env(safe-area-inset-bottom)))}.order-modify-modal,.spin-wheel-modal{max-height:calc(90vh - env(safe-area-inset-top))}}.menu-pills-scroll,.menu-recent-scroll,.menu-favorites-scroll,.order-modify-items{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.order-modify-overlay,.call-waiter-overlay{overscroll-behavior:contain;-webkit-overscroll-behavior:contain}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button{-webkit-appearance:none;appearance:none}@supports (-webkit-touch-callout: none){.order-modify-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:-webkit-fill-available}}@media screen and (display-mode:standalone){.header{padding-top:max(var(--header-padding, 0),env(safe-area-inset-top))}}@supports (-webkit-touch-callout: none){.cart-page,.track-page{min-height:100vh;min-height:-webkit-fill-available}}@supports (-webkit-touch-callout: none){.menu-floating,.cart-floating,.header{-webkit-backdrop-filter:saturate(150%) blur(8px);backdrop-filter:saturate(150%) blur(8px)}}.network-status{z-index:200;isolation:isolate;transform:translateZ(0)}.toast-container{z-index:10000;isolation:isolate}.confetti-container,.confetti-css-container{z-index:9999;isolation:isolate;pointer-events:none}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-color-1) 25%,var(--bg-color-2, rgba(0,0,0,.03)) 50%,var(--bg-color-1) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%}.btn-bounce{transition:transform .15s ease,box-shadow .15s ease}.btn-bounce:hover{transform:translateY(-1px)}.btn-bounce:active{transform:scale(.97)}.bell-shake{animation:bellShake .5s ease-in-out}@keyframes bellShake{0%,to{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-15deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}90%{transform:rotate(-5deg)}}.fly-to-cart{animation:flyToCart .5s ease-out forwards}@keyframes flyToCart{0%{transform:scale(1) translate(0);opacity:1}50%{transform:scale(.6) translate(var(--fly-x, 100px),var(--fly-y, -100px));opacity:.8}to{transform:scale(.2) translate(var(--fly-x, 200px),var(--fly-y, -200px));opacity:0}}.checkmark-draw{stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .4s ease-out forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.pulse-ring{position:relative}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulseRing 2s ease-out infinite}.pulse-ring:after{animation-delay:1s}@keyframes pulseRing{0%{box-shadow:0 0 #520a1566}to{box-shadow:0 0 0 15px #520a1500}}.fade-in{animation:fadeIn .3s ease-out}.fade-out{animation:fadeOut .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}.slide-left{animation:slideLeft .3s ease-out}.slide-right{animation:slideRight .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideLeft{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.scale-pop{animation:scalePop .3s ease-out}@keyframes scalePop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bounce{animation:bounce .5s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.wiggle{animation:wiggle .4s ease}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.stagger-item{animation:staggerIn .3s ease-out both}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.success-ripple{position:relative;overflow:hidden}.success-ripple:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(34,197,94,.3) 0%,transparent 70%);transform:scale(0);animation:ripple .6s ease-out}@keyframes ripple{to{transform:scale(2.5);opacity:0}}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:6px;height:6px;background:var(--fg-color-3);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.number-counter{display:inline-block;transition:transform .2s ease}.number-counter.changing{animation:numberPop .3s ease}@keyframes numberPop{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.cart-badge-bump{animation:badgeBump .3s ease}@keyframes badgeBump{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.slide-up-fade{animation:slideUpFade .4s ease-out both}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up-fade-1{animation-delay:.05s}.slide-up-fade-2{animation-delay:.1s}.slide-up-fade-3{animation-delay:.15s}.slide-up-fade-4{animation-delay:.2s}.slide-up-fade-5{animation-delay:.25s}.slide-up-fade-6{animation-delay:.3s}.slide-up-fade-7{animation-delay:.35s}.slide-up-fade-8{animation-delay:.4s}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;width:100%;height:100%;top:50%;left:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 60%);transform:translate(-50%,-50%) scale(0);opacity:0;transition:none}.btn-ripple:active:after{animation:btnRipple .5s ease-out}@keyframes btnRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.glow-pulse{animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 #520a1566}50%{box-shadow:0 0 0 10px #520a1500}}.glow-pulse-green{animation:glowPulseGreen 2s ease-in-out infinite}@keyframes glowPulseGreen{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 10px #22c55e00}}.heart-bounce{animation:heartBounce .4s ease}@keyframes heartBounce{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(.9)}75%{transform:scale(1.15)}to{transform:scale(1)}}.error-shake{animation:errorShake .5s ease}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.success-pop{animation:successPop .4s ease}@keyframes successPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.warning-pulse{animation:warningPulse .6s ease}@keyframes warningPulse{0%,to{background-color:var(--warning-bg, rgba(245, 158, 11, .1));transform:scale(1)}50%{background-color:#f59e0b40;transform:scale(1.02)}}.urgent-pulse{animation:urgentPulse 1s ease-in-out infinite}@keyframes urgentPulse{0%,to{background-color:#ef44441a;border-color:#ef44444d}50%{background-color:#ef444433;border-color:#ef444499}}.slide-out-right{animation:slideOutRight .3s ease-out forwards}.slide-out-left{animation:slideOutLeft .3s ease-out forwards}.slide-out-down{animation:slideOutDown .3s ease-out forwards}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.flame-flicker{animation:flameFlicker .8s ease-in-out infinite alternate}@keyframes flameFlicker{0%{transform:scale(1) rotate(-2deg);filter:brightness(1)}25%{transform:scale(1.05) rotate(1deg);filter:brightness(1.1)}50%{transform:scale(.98) rotate(-1deg);filter:brightness(.95)}75%{transform:scale(1.03) rotate(2deg);filter:brightness(1.05)}to{transform:scale(1) rotate(0);filter:brightness(1)}}.progress-fill{animation:progressFill .8s ease-out forwards}@keyframes progressFill{0%{width:0}}.card-entrance{animation:cardEntrance .4s cubic-bezier(.175,.885,.32,1.275) both}@keyframes cardEntrance{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card-exit{animation:cardExit .3s ease-out forwards}@keyframes cardExit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(50px) scale(.9)}}.status-dot-pulse{animation:statusDotPulse 1.5s ease-in-out infinite}@keyframes statusDotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.count-up{animation:countUp .3s ease-out}@keyframes countUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.count-down{animation:countDown .3s ease-out}@keyframes countDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.pill-pop{animation:pillPop .25s ease}@keyframes pillPop{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}.badge-unlock{animation:badgeUnlock .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes badgeUnlock{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.highlight-flash{animation:highlightFlash 1s ease}@keyframes highlightFlash{0%{background-color:#520a154d}to{background-color:transparent}}.unread-pulse{animation:unreadPulse 2s ease-in-out infinite}@keyframes unreadPulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.1);box-shadow:0 0 0 4px #ef444400}}.qty-increase{animation:qtyIncrease .2s ease}.qty-decrease{animation:qtyDecrease .2s ease}@keyframes qtyIncrease{0%{transform:scale(1)}50%{transform:scale(1.2);color:#22c55e}to{transform:scale(1)}}@keyframes qtyDecrease{0%{transform:scale(1)}50%{transform:scale(.8);color:#ef4444}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
