:root{--color-primary:#561219;--color-primary-hover:#7a1a24;--color-primary-soft:#56121914;--color-bg:#0f0f0f;--color-bg-alt:#1a1a1a;--color-surface:#ffffff0d;--color-surface-strong:#ffffff1a;--color-border:#ffffff1a;--color-border-strong:#ffffff2e;--color-light:#f5f5f5;--color-text:#fff;--color-text-muted:#888;--color-text-faint:#fff9;--color-text-on-primary:#fff;--color-success:#4caf50;--color-success-bg:#4caf501f;--color-error:#f44336;--color-error-bg:#f443361f;--color-warning:#ff9800;--color-warning-bg:#ff98001f;--color-just-eat:#ff8000;--color-deliveroo:#00ccbc;--radius-xs:6px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:50px;--shadow-sm:0 4px 12px #00000040;--shadow-md:0 10px 20px #0003;--shadow-lg:0 10px 30px #00000080;--shadow-cart:-10px 0 30px #00000080;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-10:4rem;--space-12:6rem;--space-16:8rem;--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:800;--letter-spacing-tight:-1px;--letter-spacing-wide:1px;--letter-spacing-wider:2px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);--container-max:1200px;--container-narrow:800px;--navbar-height:120px;--cart-width:400px;--z-navbar:1000;--z-cart-backdrop:1500;--z-cart:2000;--z-modal:3000;--z-toast:4000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary-hover);outline-offset:2px;border-radius:var(--radius-xs)}.container{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.container-narrow{max-width:var(--container-narrow);padding:0 var(--space-6);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-header{text-align:center;margin-bottom:var(--space-10)}.section-title{margin-bottom:var(--space-4);font-size:3rem}.section-subtitle{color:var(--color-text-muted)}@media (width<=768px){.container,.container-narrow{padding:0 var(--space-5)}.section-title{font-size:2.5rem}}.navbar{width:100%;z-index:var(--z-navbar);padding:var(--space-4) 0;background:var(--color-primary);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0}.navbar .container{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.logo{align-items:center;display:flex}.logo a{align-items:center;text-decoration:none;display:inline-flex}.logo img{width:auto;height:100px;display:block}.nav-links{gap:var(--space-6);list-style:none;display:flex}.nav-links a{color:var(--color-text);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:var(--transition);font-size:.9rem;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--color-text-faint)}.nav-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);padding:var(--space-2);cursor:pointer;background:0 0;flex-direction:column;justify-content:space-between;gap:4px;width:40px;height:40px;display:none}.nav-toggle-bar{background:var(--color-text);width:20px;height:2px;transition:var(--transition);border-radius:2px;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.order-type-toggle{background:var(--color-surface-strong);border-radius:var(--radius-pill);border:1px solid var(--color-border);padding:4px;display:flex}.toggle-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);color:var(--color-text);font-size:.8rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition);background:0 0;border:none;font-family:inherit}.toggle-btn.active{background:var(--color-text);color:var(--color-primary)}.cart-trigger{cursor:pointer;background:var(--color-surface);padding:var(--space-3);border:1px solid var(--color-border);color:var(--color-text);transition:var(--transition);font:inherit;appearance:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.cart-trigger:hover{background:var(--color-text);color:var(--color-primary);transform:translateY(-2px)}.cart-count{background:var(--color-text);color:var(--color-primary);width:20px;height:20px;font-size:.7rem;font-weight:var(--font-weight-bold);border:2px solid var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-5px;right:-5px}.nav-account{align-items:center;gap:var(--space-2);color:var(--color-text);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-size:.8rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:var(--transition);text-decoration:none;display:inline-flex}.nav-account:hover{background:var(--color-text);color:var(--color-primary)}.footer{padding:var(--space-12) 0 var(--space-6);border-top:1px solid var(--color-border);background:0 0}.footer-grid{gap:var(--space-10);margin-bottom:var(--space-10);grid-template-columns:2fr 1fr 1fr;display:grid}.footer-logo img{width:auto;height:180px;margin-bottom:var(--space-4)}.footer-info p{color:var(--color-text-muted);max-width:300px}.footer-links h4,.footer-partner h4{margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:.9rem}.footer-links ul{list-style:none}.footer-links li{margin-bottom:var(--space-3)}.footer-links a{color:var(--color-text-muted);transition:var(--transition);text-decoration:none}.footer-links a:hover{color:var(--color-primary)}.partner-links{gap:var(--space-4);flex-direction:column;display:flex}.partner-btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);transition:var(--transition);border:1px solid var(--color-border);align-items:center;text-decoration:none;display:flex}.partner-btn.just-eat{background:var(--color-just-eat);color:var(--color-text)}.partner-btn.deliveroo{background:var(--color-deliveroo);color:var(--color-text)}.partner-btn:hover{filter:brightness(1.1);transform:translate(10px)}.footer-bottom{text-align:center;padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.8rem}@media (width<=1024px){.logo img{height:80px}.footer-logo img{height:140px}}@media (width<=768px){.navbar .container{gap:var(--space-4);flex-wrap:wrap}.logo img{height:56px}.nav-toggle{order:2;margin-left:auto;display:flex}.nav-links{align-items:center;gap:var(--space-5);padding:var(--space-4) 0 var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;flex-basis:100%;order:5;display:none}.navbar.nav-open .nav-links{display:flex}.order-type-toggle{justify-content:center;width:100%}.toggle-btn{text-align:center;flex:1}.footer-grid{gap:var(--space-8);text-align:center;grid-template-columns:1fr}.footer-logo img{height:120px;margin:0 auto var(--space-4)}.footer-info p{margin:0 auto}.partner-links{align-items:center}}.btn{padding:var(--space-4) var(--space-7);border-radius:var(--radius-pill);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:var(--transition);cursor:pointer;text-align:center;border:none;font-family:inherit;font-size:.9rem;line-height:1.2;text-decoration:none;display:inline-block}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background:var(--color-text);color:var(--color-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--color-light);transform:translateY(-3px);box-shadow:0 15px 30px #0000004d}.btn-outline{border:1px solid var(--color-text);color:var(--color-text);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-text);color:var(--color-primary)}.btn-ghost{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary)}.btn-danger{background:var(--color-error);color:var(--color-text)}.btn-danger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-block{width:100%;display:block}.btn-sm{padding:var(--space-2) var(--space-4);font-size:.75rem}.btn-link{color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.add-to-cart{background:var(--color-primary);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;width:45px;height:45px;transition:var(--transition);font:inherit;appearance:none;border:none;justify-content:center;align-items:center;display:flex}.add-to-cart:hover{background:var(--color-primary-hover);transform:scale(1.1)}.filter-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);font-family:inherit;font-size:.9rem}.filter-btn.active,.filter-btn:hover{background:var(--color-primary);border-color:var(--color-primary)}.icon-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-xs);transition:var(--transition);font:inherit;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--color-primary);background:var(--color-surface)}@media (width<=768px){.btn{width:100%}.btn-sm,.btn-link,.btn-inline{width:auto}}.form-group{margin-bottom:var(--space-5)}.form-label{margin-bottom:var(--space-2);font-size:.8rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);display:block}.form-group input,.form-group textarea,.form-group select,.form-control{width:100%;padding:var(--space-4) var(--space-5);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:var(--transition);font-family:inherit;font-size:1rem}.form-group input::placeholder,.form-group textarea::placeholder,.form-control::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.form-group input[aria-invalid=true],.form-control[aria-invalid=true]{border-color:var(--color-error)}.form-help{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.8rem}.form-error{margin-top:var(--space-2);color:var(--color-error);font-size:.85rem}.form-success{margin-top:var(--space-2);color:var(--color-success);font-size:.85rem}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.form-row{grid-template-columns:1fr}}#card-container,.square-card-container{background:var(--color-bg-alt);border:1px solid var(--color-border);padding:var(--space-5);border-radius:var(--radius-sm);margin-bottom:var(--space-5);min-height:60px;transition:var(--transition)}#card-container:focus-within,.square-card-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.input-with-action{gap:var(--space-3);align-items:stretch;display:flex}.input-with-action input{flex:1}.input-with-action .btn{white-space:nowrap;width:auto}@media (width<=480px){.input-with-action{flex-direction:column}.input-with-action .btn{width:100%}}.checkbox{align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.checkbox input{width:18px;height:18px;accent-color:var(--color-primary)}.card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:var(--transition)}.card-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.card-title{font-size:1.4rem;font-weight:var(--font-weight-bold)}.card-subtitle{color:var(--color-text-muted);margin-top:var(--space-2);font-size:.9rem}.product-grid{gap:var(--space-7);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.product-card{background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:var(--transition);overflow:hidden}.product-card:hover{border-color:var(--color-primary);transform:translateY(-10px)}.product-img{object-fit:contain;background:var(--color-bg);width:100%;height:250px;padding:var(--space-6);transition:var(--transition)}.product-info{padding:var(--space-6)}.product-cat{color:var(--color-primary);text-transform:uppercase;font-size:.8rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);letter-spacing:var(--letter-spacing-wide)}.product-name{margin-bottom:var(--space-3);font-size:1.4rem}.product-desc{color:var(--color-text-muted);margin-bottom:var(--space-5);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.product-footer{justify-content:space-between;align-items:center;display:flex}.product-price{font-size:1.5rem;font-weight:var(--font-weight-bold)}.order-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-4);transition:var(--transition)}.order-card:hover{border-color:var(--color-border-strong)}.order-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.order-id{color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.85rem}.order-date{color:var(--color-text-muted);font-size:.85rem}.order-total{font-size:1.25rem;font-weight:var(--font-weight-bold)}.order-items{color:var(--color-text-muted);margin:0;padding:0;font-size:.9rem;list-style:none}.order-items li{padding:var(--space-2) 0;border-top:1px dashed var(--color-border)}.order-items li:first-child{border-top:none}.status-pill{padding:var(--space-1) var(--space-3);font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);align-items:center;display:inline-flex}.status-pill.status-paid,.status-pill.status-completed{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.status-pill.status-pending,.status-pill.status-processing{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning)}.status-pill.status-failed,.status-pill.status-refunded,.status-pill.status-canceled{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.order-card-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);display:flex}.address-card{justify-content:space-between;align-items:flex-start;gap:var(--space-4);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-3);transition:var(--transition);display:flex}.address-card:hover{border-color:var(--color-border-strong)}.address-label{align-items:center;gap:var(--space-3);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);display:flex}.address-lines{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.product-card{position:relative}.favourite-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;width:38px;height:38px;transition:var(--transition);-webkit-backdrop-filter:blur(8px);background:#0006;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.favourite-btn:hover{transform:scale(1.08)}.favourite-btn.is-active{color:var(--color-primary);border-color:var(--color-primary);background:#56121926}.product-fav{top:var(--space-4);right:var(--space-4);z-index:2;position:absolute}.rewards-balance-card{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-radius:var(--radius-lg);padding:var(--space-7);text-align:center;margin-bottom:var(--space-6);color:var(--color-text);box-shadow:var(--shadow-md)}.rewards-balance-label{text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);opacity:.85;margin-bottom:var(--space-2);font-size:.75rem}.rewards-balance-value{font-size:3rem;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:1}.rewards-balance-meta{margin-top:var(--space-3);opacity:.8;font-size:.85rem}.rewards-section-title{margin:var(--space-6) 0 var(--space-4);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-size:1.1rem;font-weight:var(--font-weight-semibold)}.rewards-tier-list{gap:var(--space-3);flex-direction:column;display:flex}.rewards-tier{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);transition:var(--transition);justify-content:space-between;align-items:center;display:flex}.rewards-tier.is-available{border-color:var(--color-success)}.rewards-tier.is-locked{opacity:.7}.rewards-tier-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.rewards-tier-points{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.rewards-history{margin:0;padding:0;list-style:none}.rewards-history li{padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;display:flex}.rewards-history li:last-child{border-bottom:none}.rewards-cta{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center}.auth-tabs{margin-bottom:var(--space-5);justify-content:center}.loyalty-checkout-card{background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4);font-size:.9rem}.loyalty-checkout-card strong{margin-bottom:var(--space-2);display:block}.add-address-details summary{cursor:pointer;list-style:none}.add-address-details summary::-webkit-details-marker{display:none}.add-address-form{margin-top:var(--space-5);padding:var(--space-5);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(5px);padding:var(--space-5);background:#000000d9;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{animation:.2s ease-out modal-fade-in;display:flex}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-alt);padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--color-border);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);position:relative;overflow-y:auto}.modal-content.modal-md{max-width:640px}.modal-content.modal-lg{max-width:820px}.close-modal{top:var(--space-5);right:var(--space-5);color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;display:flex;position:absolute}.close-modal:hover{color:var(--color-primary)}.modal-content h2{margin-bottom:var(--space-2);padding-right:var(--space-8);font-size:2rem}.modal-content>p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.modal-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width<=768px){.modal-content{padding:var(--space-6);border-radius:var(--radius-lg)}.modal-content h2{font-size:1.5rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.bl-table-wrap{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.bl-table{border-collapse:collapse;width:100%;font-size:.9rem}.bl-table thead{background:var(--color-surface);z-index:2;position:sticky;top:0}.bl-table th,.bl-table td{padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.bl-table th{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-size:.75rem;font-weight:var(--font-weight-semibold)}.bl-table tbody tr{transition:var(--transition-fast);cursor:default}.bl-table tbody tr:hover{background:var(--color-primary-soft)}.bl-table tbody tr:last-child td{border-bottom:none}.bl-table .cell-actions{text-align:right;white-space:nowrap}.bl-table .cell-numeric{text-align:right;font-variant-numeric:tabular-nums}.bl-table .cell-mono{color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.8rem}.table-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.table-toolbar .toolbar-actions{gap:var(--space-3);align-items:center;display:flex}.bl-tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);display:flex;overflow-x:auto}.bl-tab{color:var(--color-text-muted);padding:var(--space-3) var(--space-5);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000}.bl-tab:hover{color:var(--color-text)}.bl-tab.active{color:var(--color-text);border-bottom-color:var(--color-primary)}@media (width<=768px){.bl-table-wrap{background:0 0;border:none;border-radius:0;overflow:visible}.bl-table,.bl-table thead,.bl-table tbody,.bl-table th,.bl-table td,.bl-table tr{display:block}.bl-table thead{position:absolute;left:-9999px}.bl-table tr{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.bl-table tr:hover{background:var(--color-bg-alt)}.bl-table td{padding:var(--space-2) 0;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:none;display:flex}.bl-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-size:.7rem;font-weight:var(--font-weight-semibold)}.bl-table .cell-actions,.bl-table .cell-numeric{text-align:right}}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-5);background:var(--color-bg-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state.bare{background:0 0;border:none}.empty-state svg{margin-bottom:var(--space-4);opacity:.5;color:var(--color-text-muted)}.empty-state h3{color:var(--color-text);margin-bottom:var(--space-2);font-size:1.1rem}.empty-state p{max-width:320px;margin-bottom:var(--space-4);font-size:.95rem}.empty-state .btn{width:auto}.cart-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-4);flex-direction:column;justify-content:center;align-items:center;display:flex}.cart-empty svg{margin-bottom:var(--space-4);opacity:.4}.cart-empty p{max-width:220px;font-size:.95rem}.loading{padding:var(--space-8);color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);width:32px;height:32px;margin-bottom:var(--space-3);border-radius:50%;animation:.8s linear infinite spin}.loading-block{flex-direction:column;align-items:center;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-3);pointer-events:none;flex-direction:column;max-width:400px;display:flex;position:fixed}.toast{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:auto;align-items:flex-start;gap:var(--space-3);min-width:280px;font-size:.9rem;animation:.3s ease-out toast-in;display:flex}.toast.toast-success{border-left-color:var(--color-success)}.toast.toast-error{border-left-color:var(--color-error)}.toast.toast-warning{border-left-color:var(--color-warning)}.toast.leaving{animation:.25s ease-in forwards toast-out}.toast-body{flex:1;line-height:1.45}.toast-close{color:var(--color-text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}@media (width<=480px){.toast-container{top:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none}.toast{min-width:0}}.hero{height:80vh;padding-top:var(--navbar-height);background:url(../assets/hero_spice_bag.png) 50%/cover no-repeat;align-items:center;display:flex;position:relative}.hero-overlay{background:linear-gradient(90deg,#000c,#0000004d,#0000);position:absolute;inset:0}.hero-content{z-index:10;position:relative}.hero-title{font-size:5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-5);line-height:1.1}.hero-title span{color:var(--color-text)}.hero-subtitle{color:var(--color-text-faint);max-width:600px;margin-bottom:var(--space-7);font-size:1.2rem}.hero-btns{gap:var(--space-4);display:flex}.hero-scroll-cue{bottom:var(--space-6);color:#fff9;z-index:10;transition:var(--transition);text-decoration:none;animation:2s ease-in-out infinite scrollCueBounce;position:absolute;left:50%;transform:translate(-50%)}.hero-scroll-cue:hover{color:var(--color-text)}@keyframes scrollCueBounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.menu-section{padding:var(--space-16) 0}.category-filters{justify-content:center;gap:var(--space-4);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.about-section{padding:var(--space-16) 0;background:var(--color-bg-alt)}.about-grid{gap:var(--space-10);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-content h2{text-align:left;margin-bottom:var(--space-6)}.about-content p{color:var(--color-text-muted);margin-bottom:var(--space-5)}.about-content .lead{color:var(--color-text);font-size:1.4rem;font-weight:var(--font-weight-semibold)}.about-image img{border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-lg)}.contact-section{padding:var(--space-16) 0}.contact-grid{gap:var(--space-10);grid-template-columns:1fr 1fr;display:grid}.info-item{margin-bottom:var(--space-7)}.info-item h4{color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--space-2);font-size:.8rem}.info-item p{font-size:1.2rem}.social-links{gap:var(--space-5);margin-top:var(--space-4);display:flex}.social-links a{color:var(--color-text);font-weight:var(--font-weight-semibold);transition:var(--transition);font-size:.9rem;text-decoration:none}.social-links a:hover{color:var(--color-primary)}.cart-backdrop{-webkit-backdrop-filter:blur(4px);z-index:var(--z-cart-backdrop);opacity:0;pointer-events:none;background:#0009;transition:opacity .3s;position:fixed;inset:0}.cart-backdrop.open{opacity:1;pointer-events:auto}.cart-sidebar{top:0;right:calc(-1 * var(--cart-width));width:var(--cart-width);background:var(--color-bg-alt);height:100%;z-index:var(--z-cart);padding:var(--space-6);box-shadow:var(--shadow-cart);transition:var(--transition);border-left:1px solid var(--color-border);flex-direction:column;display:flex;position:fixed}.cart-sidebar.open{right:0}.cart-header{margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.close-cart{color:var(--color-text);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1}.cart-items{flex:1;overflow-y:auto}.cart-item{gap:var(--space-4);margin-bottom:var(--space-5);background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-md);align-items:center;display:flex}.cart-item-img{object-fit:cover;border-radius:var(--radius-xs);width:60px;height:60px}.cart-item-info{flex:1}.cart-item-name{font-weight:var(--font-weight-semibold);font-size:.9rem}.cart-item-price{color:var(--color-primary);font-weight:var(--font-weight-bold)}.cart-item-qty{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);font-size:.8rem;display:flex}.remove-item{cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);transition:var(--transition);font:inherit;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.remove-item:hover{color:var(--color-primary)}.cart-footer{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.cart-total{font-size:1.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-5);justify-content:space-between;display:flex}@media (width<=1024px){.hero-title{font-size:4rem}}@media (width<=768px){.hero{text-align:center;height:auto;padding:140px 0 80px}.hero-title{font-size:3rem}.hero-subtitle{margin:0 auto var(--space-6)}.hero-btns{flex-direction:column;width:100%}.about-grid,.contact-grid{gap:var(--space-8);grid-template-columns:1fr}.about-content{order:2}.about-image{order:1}.about-content h2{text-align:center}.cart-sidebar{width:100%;right:-100%}}@media (width<=480px){.hero-title{font-size:2.5rem}}.account-page{padding:calc(var(--navbar-height) + var(--space-10)) 0 var(--space-16);min-height:100vh}.account-grid{gap:var(--space-8);grid-template-columns:280px 1fr;align-items:start;display:grid}.account-sidebar{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);top:calc(var(--navbar-height) + var(--space-5));position:sticky}.account-sidebar .account-email{color:var(--color-text-muted);margin-bottom:var(--space-4);word-break:break-word;font-size:.85rem}.account-nav{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.account-nav button{text-align:left;width:100%;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xs);cursor:pointer;font:inherit;transition:var(--transition);background:0 0;border:none;font-size:.9rem}.account-nav button:hover{background:var(--color-surface);color:var(--color-text)}.account-nav button.active{background:var(--color-primary);color:var(--color-text)}.account-panel{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-7)}.account-panel h2{margin-bottom:var(--space-5);font-size:1.8rem}.signin-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:460px;padding:var(--space-8);text-align:center;margin:0 auto}.signin-card h1{margin-bottom:var(--space-3);font-size:2rem}.signin-card p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.signin-card form{text-align:left}@media (width<=768px){.account-grid{grid-template-columns:1fr}.account-sidebar{position:static}.account-nav{gap:var(--space-2);flex-direction:row;overflow-x:auto}.account-nav button{white-space:nowrap}.account-panel{padding:var(--space-5)}}.checkout-page{padding:calc(var(--navbar-height) + var(--space-8)) 0 var(--space-16);min-height:100vh}.checkout-header{text-align:center;margin-bottom:var(--space-10)}.checkout-header h1{margin-bottom:var(--space-2);font-size:2.5rem}.checkout-header p{color:var(--color-text-muted)}.checkout-grid{gap:var(--space-8);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}.checkout-summary{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);top:calc(var(--navbar-height) + var(--space-5));position:sticky}.checkout-summary h3{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);font-size:1.2rem}.summary-items{margin-bottom:var(--space-5);list-style:none}.summary-item{padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;font-size:.95rem;display:flex}.summary-item:last-child{border-bottom:none}.summary-item-name{color:var(--color-text)}.summary-item-price{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.summary-totals{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.summary-line{padding:var(--space-2) 0;color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.summary-line.discount{color:var(--color-success)}.summary-line.grand-total{color:var(--color-text);font-size:1.4rem;font-weight:var(--font-weight-bold);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-2)}.checkout-form-wrap{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-7)}.checkout-section{margin-bottom:var(--space-7)}.checkout-section:last-child{margin-bottom:0}.checkout-section h3{margin-bottom:var(--space-5);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-size:1.1rem;font-weight:var(--font-weight-semibold)}#payment-status-container{margin-top:var(--space-4);font-weight:var(--font-weight-semibold);padding:var(--space-4);border-radius:var(--radius-sm);display:none}#payment-status-container.success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success);display:block}#payment-status-container.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error);display:block}.applied-discount{padding:var(--space-3) var(--space-4);background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success);border-radius:var(--radius-sm);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.applied-discount button{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1}.receipt{text-align:center;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:520px;padding:var(--space-8);margin:0 auto}.receipt-icon{width:64px;height:64px;margin:0 auto var(--space-5);background:var(--color-success-bg);color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;display:flex}.receipt h1{margin-bottom:var(--space-3);font-size:2rem}.receipt p{color:var(--color-text-muted);margin-bottom:var(--space-2)}.receipt .order-id{margin-bottom:var(--space-6);font-family:ui-monospace,monospace;font-size:.95rem}@media (width<=1024px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}}@media (width<=768px){.checkout-header h1{font-size:2rem}.checkout-form-wrap,.checkout-summary{padding:var(--space-5)}}.admin-page{padding:calc(var(--navbar-height) + var(--space-8)) 0 var(--space-16);min-height:100vh}.admin-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.admin-header h1{font-size:2.4rem}.admin-header .admin-meta{color:var(--color-text-muted);font-size:.9rem}.admin-grid-stats{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.stat-card .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-2);font-size:.75rem}.stat-card .stat-value{font-size:1.8rem;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.admin-section{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6)}.admin-detail-grid{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.admin-detail-grid .field{gap:var(--space-1);flex-direction:column;display:flex}.admin-detail-grid .field-label{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-size:.7rem}.admin-detail-grid .field-value{color:var(--color-text);word-break:break-word;font-size:.95rem}@media (width<=768px){.admin-header h1{font-size:1.8rem}.admin-detail-grid{grid-template-columns:1fr}.admin-section{padding:var(--space-5)}}
