:root{--primary-yellow: #E8B923;--accent-yellow: #F5D042;--dark-bg: #2c2c2c;--light-bg: #ffffff;--text-dark: #2c2c2c;--text-light: #666666;--border-color: #e8e8e8}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:var(--text-dark)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-dark)}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid var(--primary-yellow);outline-offset:2px}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.menu-display{width:100%;padding:1rem}.menu-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1400px;margin:0 auto}.menu-item-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;border:1px solid rgba(0,0,0,.05)}.menu-item-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.menu-item-image{width:100%;height:200px;overflow:hidden;background:#f5f5f5}.menu-item-image img{width:100%;height:100%;object-fit:cover}.menu-item-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.menu-item-name{margin:0;font-size:1.25rem;font-weight:600;color:#2c2c2c}.menu-item-description{margin:0;font-size:.9rem;color:#666;flex:1}.menu-item-price{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.price-usd{font-size:1.5rem;font-weight:700;color:#2c2c2c}.price-sats{font-size:.85rem;color:#666}.add-to-cart-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:#e8b923;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;min-height:44px;transition:background .2s;margin-top:auto}.add-to-cart-btn:hover{background:#d4a520}.add-to-cart-btn:active{transform:scale(.98)}@media(min-width:768px){.menu-grid{grid-template-columns:repeat(2,1fr)}.menu-item-image{height:220px}}@media(min-width:1024px){.menu-grid{grid-template-columns:repeat(3,1fr)}.menu-item-image{height:240px}}@media(min-width:1400px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.cart{position:fixed;bottom:0;right:0;z-index:1000}.cart-toggle{position:fixed;bottom:1rem;right:1rem;width:64px;height:64px;border-radius:50%;background:#e8b923;color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0003;transition:transform .2s,box-shadow .2s;z-index:1001}.cart-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.cart-count{position:absolute;top:-4px;right:-4px;background:#2c2c2c;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.cart-content{position:fixed;bottom:0;right:0;left:0;background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -4px 20px #00000026;max-height:85vh;height:85vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease-out;z-index:1000;overflow:hidden}.cart-open .cart-content{transform:translateY(0)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee;flex-shrink:0}.cart-header h2{margin:0;font-size:1.5rem;color:#2c2c2c}.cart-header-actions{display:flex;align-items:center;gap:.5rem}.clear-cart-btn{background:#fee;color:#c33;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.clear-cart-btn:hover{background:#fdd}.cart-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.cart-close:hover{background:#f5f5f5}.cart-items{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:1rem;min-height:0;-webkit-overflow-scrolling:touch}.cart-empty{padding:3rem 1.5rem;text-align:center;color:#666;background:#f9f9f9;border-radius:12px;margin:1rem;border:2px dashed #e0e0e0}.cart-empty p{margin:0;font-size:1.125rem;color:#999}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee;gap:1rem;background:#fff;border-radius:8px;margin:.5rem 0;box-shadow:0 1px 3px #0000000d}.cart-item-info{flex:1}.cart-item-info h4{margin:0 0 .25rem;font-size:1rem;color:#2c2c2c}.cart-item-price{margin:0;font-size:.9rem;color:#666}.cart-item-controls{display:flex;align-items:center;gap:.75rem}.quantity-controls{display:flex;align-items:center;gap:.5rem;background:#f5f5f5;border-radius:8px;padding:.25rem}.quantity-btn{width:36px;height:36px;border:none;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#2c2c2c;font-size:.875rem;transition:background .2s;min-height:44px;min-width:44px}.quantity-btn:hover{background:#e8e8e8}.quantity{min-width:30px;text-align:center;font-weight:600;color:#2c2c2c}.remove-btn{width:44px;height:44px;border:none;background:#fee;color:#c33;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.remove-btn:hover{background:#fdd}.cart-footer{padding:1.5rem;border-top:2px solid #eee;background:#f9f9f9;border-radius:0 0 20px 20px;flex-shrink:0}.cart-total{margin-bottom:1rem}.total-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.total-line span:first-child{font-size:1rem;color:#666}.total-usd{font-size:1.5rem;font-weight:700;color:#2c2c2c}.total-sats{font-size:1rem;color:#666}.checkout-btn{width:100%;padding:1rem;background:#e8b923;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;min-height:56px;transition:background .2s}.checkout-btn:hover{background:#d4a520}.checkout-btn:active{transform:scale(.98)}@media(min-width:768px){.cart{position:fixed;top:1rem;right:1rem;bottom:1rem;width:380px;max-width:90vw;display:flex;flex-direction:column;height:calc(100vh - 2rem);max-height:calc(100vh - 2rem)}.cart-content{position:relative;left:auto;width:100%;height:100%;max-height:100%;transform:none;border-radius:20px;box-shadow:0 4px 20px #00000026;border:1px solid rgba(0,0,0,.05);min-height:0;overflow:hidden}.cart-open .cart-content{transform:none}.cart-toggle,.cart-close{display:none}.cart-footer{border-radius:0 0 20px 20px}}.payment-container{position:absolute;inset:0;width:100%;display:flex;align-items:center;justify-content:center;padding:0;background:#f5f5f5;overflow-x:hidden}.payment-content{background:#fff;border-radius:16px;padding:1.5rem;width:100%;max-width:500px;margin:0 1rem;box-shadow:0 4px 20px #0000001a;position:relative;z-index:1}.payment-content h2{margin:0 0 .75rem;font-size:1.25rem;color:#2c2c2c;text-align:center}.payment-summary{background:#f9f9f9;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem}.summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.summary-line:last-child{margin-bottom:0}.summary-line span:first-child{font-size:1rem;color:#666}.summary-amount{font-size:1.25rem;font-weight:700;color:#2c2c2c}.summary-sats{font-size:1.125rem;font-weight:600;color:#e8b923}.qr-section{text-align:center;margin-bottom:1rem}.qr-wrapper{position:relative;display:inline-block}.qr-instructions{margin:0 0 .75rem;color:#666;font-size:.9rem}.qr-code-wrapper{display:inline-block;padding:.75rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none}.qr-code-wrapper:hover{transform:scale(1.02);box-shadow:0 4px 16px #00000026}.qr-code-wrapper:active{transform:scale(.98)}.copy-invoice-btn{margin:.75rem auto 0;width:40px;height:40px;border-radius:8px;background:#2c2c2c;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1rem;box-shadow:0 2px 8px #0003;position:relative}.copy-invoice-btn:hover{background:#1a1a1a;transform:scale(1.05)}.copy-invoice-btn.copied{background:#28a745}.copy-invoice-btn .copy-feedback{position:absolute;top:-35px;left:50%;transform:translate(-50%);background:#2c2c2c;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0;transform:translateY(5px)}10%,90%{opacity:1;transform:translateY(0)}}.payment-loading{text-align:center;padding:3rem 1rem}.payment-loading .spinner{font-size:3rem;color:#e8b923;margin-bottom:1rem;animation:spin 1s linear infinite}.payment-loading p{color:#666;font-size:1.125rem}.payment-status{text-align:center;margin-bottom:1rem;min-height:32px;display:flex;align-items:center;justify-content:center}.status-pending,.status-paid,.status-failed{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}.status-pending{color:#666}.status-pending .spinner{animation:spin 1s linear infinite}.status-paid{color:#28a745}.status-failed{color:#dc3545}.payment-actions{display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem}.back-btn,.refresh-btn{padding:.625rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;min-height:44px;transition:all .2s}.back-btn{background:#f5f5f5;color:#2c2c2c}.back-btn:hover{background:#e8e8e8}.refresh-btn{background:#e8b923;color:#2c2c2c;display:flex;align-items:center;gap:.5rem}.refresh-btn:hover{background:#d4a81f}.summary-timer{font-size:1.125rem;font-weight:600;color:#28a745}.summary-timer.warning{color:#dc3545}.payment-expired{text-align:center;padding:2rem}.payment-expired .expired-icon{font-size:4rem;color:#ffc107;margin-bottom:1rem}.payment-expired h2{margin:0 0 1rem;color:#2c2c2c}.payment-expired p{margin:0 0 2rem;color:#666}.powered-by{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.payment-success{text-align:center;padding:1rem 0}.success-icon{font-size:4rem;color:#28a745;margin-bottom:1rem;animation:scaleIn .5s ease-out}.payment-success h2{margin:0 0 .75rem;font-size:2rem;color:#2c2c2c;animation:fadeInUp .6s ease-out .2s both}.success-message{margin:0 0 2rem;color:#666;font-size:1.125rem;animation:fadeInUp .6s ease-out .4s both}.shop-again-btn{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;min-height:44px;transition:all .2s;background:#e8b923;color:#2c2c2c;animation:fadeInUp .6s ease-out .6s both}.shop-again-btn:hover{background:#d4a81f;transform:scale(1.02)}.shop-again-btn:active{transform:scale(.98)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;opacity:1;animation:confettiFall 3s linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.powered-by span{font-size:.875rem;color:#999}.powered-by a{display:flex;align-items:center;gap:.4rem;text-decoration:none;background:#1a1a2e;padding:.35rem .75rem;border-radius:6px;transition:background .2s}.powered-by a:hover{background:#252542}.clink-logo{height:20px;width:auto}.clink-text{color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px}.payment-error{text-align:center;padding:2rem}.payment-error .error-icon{font-size:4rem;color:#dc3545;margin-bottom:1rem}.payment-error h2{margin:0 0 1rem;color:#2c2c2c}.payment-error p{margin:0 0 2rem;color:#666}@media(min-width:768px){.payment-container{min-height:calc(100vh - 100px)}.payment-content{padding:2rem}.payment-content h2{font-size:1.5rem;margin-bottom:1rem}.payment-summary{padding:1rem 1.25rem;margin-bottom:1.5rem}.summary-amount{font-size:1.5rem}.summary-sats{font-size:1.25rem}.qr-section,.payment-status,.payment-actions{margin-bottom:1.5rem}.powered-by{margin-top:1.5rem;padding-top:1.5rem}}@media(max-width:767px){.payment-content{padding:1rem}.payment-content h2{font-size:1.125rem}.qr-code-wrapper{padding:.5rem}.qr-code-wrapper svg{width:200px;height:200px}.copy-invoice-btn{width:36px;height:36px;font-size:.875rem;margin-top:.5rem}.payment-actions{flex-direction:column}.back-btn,.refresh-btn{width:100%}.success-icon{font-size:3rem}.payment-success h2{font-size:1.75rem}}.app{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.app-loading,.app-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.app-loading .spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #E8B923;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-error h2{color:#dc3545;margin-bottom:1rem}.app-error p{color:#666}.app-header{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:flex-start}.logo{width:200px;height:auto;display:block}.app-main{flex:1;display:flex;flex-direction:column;padding-bottom:100px;position:relative}.app-main>.payment-container{position:absolute;inset:0}@media(min-width:768px){.app-main{padding-bottom:0;padding-right:400px}.logo{width:280px}}@media(min-width:1400px){.app-main{padding-right:400px}}
