.error-boundary{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary, #eaf6ff);color:var(--color-text-primary, #1e293b);padding:1rem}.error-content{background-color:var(--color-bg-card, #ffffff);padding:2rem;border-radius:24px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .15));text-align:center;max-width:500px;width:100%}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text-primary, #1e293b)}.error-message{color:var(--color-text-secondary, #64748b);margin-bottom:1.5rem;line-height:1.5}.error-details{background-color:#0000000d;padding:1rem;border-radius:12px;font-family:monospace;font-size:.85rem;text-align:left;margin-bottom:1.5rem;overflow-x:auto;color:var(--color-error, #ef4444)}.error-actions{display:flex;gap:1rem;justify-content:center}.error-actions button{padding:.75rem 1.5rem;border-radius:9999px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.error-actions button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .1))}.btn-reload{background:var(--color-primary, #2e2ff5);color:#fff}.btn-home{background:transparent;border:1px solid var(--color-border-medium, #e5e7eb)!important;color:var(--color-text-primary, #1e293b)}.btn-home:hover{background:var(--color-bg-secondary, #f8fafc)}.theme-toggle{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.theme-toggle-icon{font-size:1.5rem;line-height:1;display:block}.products-page{padding:20px;background-color:#f8f9fa;min-height:100vh}.products-page .header{margin-bottom:20px;text-align:center}.products-page .header h2{color:#2c3e50;font-weight:700}.products-page .products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.products-page .product-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden;display:flex;flex-direction:column}.products-page .product-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 20px #0000001a}.products-page .product-card .product-image{width:100%;aspect-ratio:1/1;object-fit:contain;background-color:#fff;padding:10px}.products-page .product-card .product-info{padding:15px;flex-grow:1;display:flex;flex-direction:column}.products-page .product-card .product-info h3{font-size:1.2rem;margin-bottom:5px;color:#333}.products-page .product-card .product-info .description{font-size:.9rem;color:#666;margin-bottom:10px;flex-grow:1}.products-page .product-card .product-info .price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.products-page .product-card .product-info .price-row .price{font-size:1.3rem;font-weight:700;color:#27ae60}.products-page .product-card .product-info .price-row .discount{font-size:.9rem;color:#e74c3c;text-decoration:line-through}.products-page .product-card .product-info .non-returnable{font-size:.8rem;color:#e67e22;margin-bottom:10px;font-weight:600}.products-page .product-card .product-info .actions{display:flex;gap:10px}.products-page .product-card .product-info .actions button{flex:1;padding:12px 8px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.products-page .product-card .product-info .actions button.btn-buy{background-color:var(--primary);color:#fff;animation:pulse-subtle 3s ease-in-out infinite}.products-page .product-card .product-info .actions button.btn-buy:hover{background-color:var(--primary-dark)}.products-page .product-card .product-info .actions button.btn-buy:disabled{background-color:#95a5a6;cursor:not-allowed}.products-page .product-card .product-info .actions button.btn-buy:disabled:hover{background-color:#95a5a6}.products-page .product-card .product-info .actions button.btn-cart{background-color:#ecf0f1;color:#2c3e50}.products-page .product-card .product-info .actions button.btn-cart:hover{background-color:#bdc3c7}.buy-product-modal{border:none;border-radius:16px;box-shadow:0 10px 30px #0003;overflow:hidden}.buy-product-modal .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:none;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.buy-product-modal .modal-header .modal-title{font-weight:700;font-size:1.25rem;margin:0}.buy-product-modal .modal-header .close{padding:0;margin:0;background:transparent;border:none;color:#fffc;font-size:2rem;line-height:.8;font-weight:300;text-shadow:none;opacity:1;outline:none;transition:transform .2s}.buy-product-modal .modal-header .close:hover{color:#fff;transform:scale(1.1);opacity:1;text-decoration:none}.buy-product-modal .modal-header .close:focus{outline:none}.buy-product-modal .modal-body{padding:24px;background-color:#f8f9fa}.buy-product-modal .modal-body label{font-weight:600;color:#4a5568;margin-bottom:8px;font-size:.9rem;display:flex;align-items:center;gap:6px}.buy-product-modal .modal-body .form-control{border-radius:8px;border:1px solid #e2e8f0;padding:10px 12px;height:auto;font-size:1rem;box-shadow:none}.buy-product-modal .modal-body .form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.buy-product-modal .modal-body .total-amount{background-color:#fff;padding:15px;border-radius:10px;margin-top:20px;text-align:center;border:1px dashed #cbd5e0}.buy-product-modal .modal-body .total-amount h5{margin:0;color:#2d3748;font-size:1.2rem;font-weight:700}.buy-product-modal .modal-body .total-amount h5 span{color:#667eea;font-size:1.5rem}.buy-product-modal .modal-footer{background-color:#fff;border-top:none;padding:20px 24px;display:flex;gap:12px}.buy-product-modal .modal-footer .btn{border-radius:8px;padding:10px 20px;font-weight:600;flex:1;border:none;transition:all .2s}.buy-product-modal .modal-footer .btn-secondary{background-color:#e2e8f0;color:#4a5568}.buy-product-modal .modal-footer .btn-secondary:hover{background-color:#cbd5e0}.buy-product-modal .modal-footer .btn-outline-primary{border:2px solid #667eea;color:#667eea;background:transparent}.buy-product-modal .modal-footer .btn-outline-primary:hover{background-color:#f0f4ff}.buy-product-modal .modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 6px #764ba24d}.buy-product-modal .modal-footer .btn-primary:hover{box-shadow:0 6px 8px #764ba266;transform:translateY(-1px)}@media(prefers-color-scheme:dark){.products-page{background-color:#0f172a}.products-page .header h2{color:#f1f5f9}.products-page .header p{color:#fffc}.products-page .product-card{background:#334155}.products-page .product-card .product-image{background-color:#1e293b}.products-page .product-card .product-info h3{color:#f1f5f9}.products-page .product-card .product-info .text-muted{color:#94a3b8!important}.products-page .product-card .product-info .description{color:#cbd5e1}.products-page .product-card .product-info .price-row .price{color:#34d399}.products-page .product-card .product-info .price-row .discount{color:#f87171}.products-page .product-card .product-info .non-returnable{color:#fb923c}.products-page .product-card .product-info .actions button.btn-buy{background-color:#1e40af}.products-page .product-card .product-info .actions button.btn-buy:hover{background-color:#1e3a8a}.products-page .product-card .product-info .actions button.btn-buy:disabled{background-color:#475569}.products-page .product-card .product-info .actions button.btn-cart{background-color:#475569;color:#f1f5f9}.products-page .product-card .product-info .actions button.btn-cart:hover{background-color:#64748b}.buy-product-modal .modal-header{background:linear-gradient(135deg,#1e40af,#7c3aed)}.buy-product-modal .modal-body{background-color:#1e293b}.buy-product-modal .modal-body label{color:#cbd5e1}.buy-product-modal .modal-body .form-control{background-color:#334155;border-color:#475569;color:#f1f5f9}.buy-product-modal .modal-body .form-control:focus{border-color:#60a5fa;background-color:#334155;box-shadow:0 0 0 3px #60a5fa1a}.buy-product-modal .modal-body .form-control::placeholder{color:#94a3b8}.buy-product-modal .modal-body .total-amount{background-color:#334155;border-color:#475569}.buy-product-modal .modal-body .total-amount h5{color:#f1f5f9}.buy-product-modal .modal-body .total-amount h5 span{color:#60a5fa}.buy-product-modal .modal-footer{background-color:#1e293b}.buy-product-modal .modal-footer .btn-secondary{background-color:#475569;color:#f1f5f9}.buy-product-modal .modal-footer .btn-secondary:hover{background-color:#64748b}.buy-product-modal .modal-footer .btn-outline-primary{border-color:#60a5fa;color:#60a5fa}.buy-product-modal .modal-footer .btn-outline-primary:hover{background-color:#1e3a8a}.buy-product-modal .modal-footer .btn-primary{background:linear-gradient(135deg,#1e40af,#7c3aed)}}@media(max-width:768px){.products-page .modal{display:block!important;padding:0!important;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:var(--bg-primary)}.products-page .modal .modal-dialog{margin:0;width:100%;max-width:100%;height:100%;min-height:100vh}.products-page .modal .modal-dialog .buy-product-modal{border-radius:0;border:none;height:100vh;max-height:100vh;display:flex;flex-direction:column;box-shadow:none}.products-page .modal .modal-dialog .buy-product-modal .modal-header{border-radius:0;padding:15px 20px;background:var(--primary-dark)}.products-page .modal .modal-dialog .buy-product-modal .modal-body{flex-grow:1;overflow-y:auto;background-color:var(--bg-card)}.products-page .modal .modal-dialog .buy-product-modal .modal-footer{padding-bottom:calc(15px + env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid var(--border-light)}}.modal-backdrop-custom{background-color:#0009!important}.modal-blur{backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}.menu-page{min-height:calc(100vh - 160px);background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:1rem 1rem 2rem}.menu-page .menu-page-header{text-align:center;padding:1.5rem 0;margin-bottom:1rem}.menu-page .menu-page-header .menu-page-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0}.menu-page .menu-page-header .menu-page-subtitle{font-size:.9rem;color:#64748b;margin:.25rem 0 0}.menu-page .menu-list{display:flex;flex-direction:column;gap:.75rem;max-width:500px;margin:0 auto}.menu-page .menu-list .menu-list-item{display:flex;align-items:center;background:#fff;border-radius:16px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .2s ease;animation:slideInUp .4s ease forwards;opacity:0}.menu-page .menu-list .menu-list-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.menu-page .menu-list .menu-list-item:active{transform:scale(.98)}.menu-page .menu-list .menu-list-item .menu-item-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0}.menu-page .menu-list .menu-list-item .menu-item-icon i{color:#fff;font-size:1.1rem}.menu-page .menu-list .menu-list-item .menu-item-label{flex:1;font-size:1rem;font-weight:500;color:#1e293b}.menu-page .menu-list .menu-list-item .menu-item-arrow{color:#cbd5e1;font-size:.8rem;transition:transform .2s ease}.menu-page .menu-list .menu-list-item:hover .menu-item-arrow{transform:translate(4px);color:#94a3b8}.menu-page .menu-page-footer{text-align:center;margin-top:2rem;padding:1rem}.menu-page .menu-page-footer .menu-page-version{font-size:.8rem;color:#94a3b8;margin:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.menu-page{background:linear-gradient(135deg,#1e293b,#0f172a)}.menu-page .menu-page-header .menu-page-title{color:#f1f5f9}.menu-page .menu-page-header .menu-page-subtitle{color:#94a3b8}.menu-page .menu-list .menu-list-item{background:#334155;box-shadow:0 2px 8px #0003}.menu-page .menu-list .menu-list-item:hover{box-shadow:0 4px 16px #0000004d}.menu-page .menu-list .menu-list-item .menu-item-label{color:#f1f5f9}.menu-page .menu-list .menu-list-item .menu-item-arrow{color:#64748b}.menu-page .menu-list .menu-list-item:hover .menu-item-arrow{color:#94a3b8}.menu-page .menu-page-footer .menu-page-version{color:#64748b}}
