:root{--color-bg: #fdfbfc;--color-bg-soft: #f8f5fa;--color-surface: #ffffff;--color-surface-hover: #fbf9fd;--color-text: #1e1b4b;--color-text-medium: #4c1d95;--color-text-soft: #6d28d9;--color-text-muted: #9ca3af;--color-primary: #7c3aed;--color-primary-dark: #6d28d9;--color-primary-light: #8b5cf6;--color-primary-bg: #f5f3ff;--color-primary-border: #ddd6fe;--color-accent: #db2777;--color-accent-light: #f472b6;--color-accent-bg: #fdf2f8;--color-secondary: #06b6d4;--color-secondary-light: #22d3ee;--color-success: #10b981;--color-success-bg: #d1fae5;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-border: #eef2ff;--color-border-medium: #e0e7ff;--color-border-dark: #c7d2fe;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-2xl: 40px;--radius-full: 9999px;--shadow-xs: 0 2px 4px rgba(124, 58, 237, .05);--shadow-sm: 0 4px 6px rgba(124, 58, 237, .07), 0 2px 4px rgba(124, 58, 237, .05);--shadow-md: 0 10px 15px rgba(124, 58, 237, .1), 0 4px 6px rgba(124, 58, 237, .05);--shadow-lg: 0 20px 25px rgba(124, 58, 237, .15), 0 8px 10px rgba(124, 58, 237, .05);--shadow-xl: 0 25px 50px rgba(124, 58, 237, .25);--shadow-glow: 0 0 20px rgba(124, 58, 237, .35);--container-max: 1400px;--sidebar-width: 80px;--bottom-nav-height: 72px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5)}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%)}.bg-gradient-subtle{background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-accent-bg) 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-x:hidden;scroll-behavior:smooth;direction:rtl}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{min-height:100vh;font-family:IBM Plex Sans Arabic,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.015em;line-height:1.2;color:var(--color-text);margin:0}h1{font-size:clamp(28px,4vw,36px)}h2{font-size:clamp(24px,3.5vw,30px)}h3{font-size:clamp(20px,3vw,24px)}h4{font-size:18px}p{margin:0;color:var(--color-text-soft);line-height:1.6}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button,input,select,textarea{font-family:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;display:flex;flex-direction:column}.main-content{padding-bottom:calc(var(--bottom-nav-height) + 120px + env(safe-area-inset-bottom,0px))}@media (min-width: 1024px){.main-content{padding-inline-start:var(--sidebar-width);padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.admin-content{flex:1;width:100%;max-width:100%}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--space-2) var(--space-4)}@media (min-width: 640px){.container{padding:var(--space-4) var(--space-6)}}@media (min-width: 1024px){.container{padding:var(--space-6) var(--space-8)}}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);width:100%}@media (min-width: 640px){.grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}}@media (min-width: 1280px){.grid{grid-template-columns:repeat(5,1fr)}}@media (min-width: 1536px){.grid{grid-template-columns:repeat(6,1fr)}}.card{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-bounce);cursor:pointer;display:flex;flex-direction:column;height:320px;box-shadow:var(--shadow-sm);position:relative}.card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-xl);border-color:var(--color-primary-light);z-index:10}.card-media{position:relative;aspect-ratio:1 / 1;background:linear-gradient(135deg,#fdfbfb,#ebedee);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-4)}.card-media:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.8) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-normal)}.card:hover .card-media:after{opacity:1}.card-media img{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-bounce);filter:drop-shadow(0 4px 6px rgba(0,0,0,.05));z-index:1}.card:hover .card-media img{transform:scale(1.1) rotate(2deg)}.card-body{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);flex:1;justify-content:space-between}.card-title{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}.highlight-match{background:var(--color-primary-bg);color:var(--color-primary-dark);padding:0 4px;border-radius:4px;font-weight:600}.price-row{display:inline-flex;align-items:baseline;gap:2px;margin:0;padding:4px 10px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-full)}.price-row .amount{font-size:16px;font-weight:800;color:var(--color-primary);letter-spacing:-.02em}.price-row .unit{font-size:11px;font-weight:700;color:var(--color-primary-dark);opacity:.8}.add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-3);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-bounce);box-shadow:0 4px 12px #7c3aed40;margin-top:auto;position:relative;overflow:hidden}.add-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed59}.add-btn:hover:before{opacity:1}.add-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #7c3aed33}.add-btn svg{width:18px;height:18px}.qty-controls{display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-sm)}.qty-controls--sm{height:36px}.qty-controls--md{height:44px}.qty-controls--lg{height:52px}.qty-btn{background:transparent;border:none;color:var(--color-text-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative}.admin-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.admin-actions{display:flex;gap:var(--space-3);align-items:center}.admin-refresh-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-medium);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.admin-refresh-btn:hover:not(:disabled){background:var(--color-bg-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.admin-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.admin-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.admin-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-stat-card--pending{border-color:var(--color-warning);background:var(--color-warning-bg)}.admin-stat-card--confirmed{border-color:var(--color-primary);background:var(--color-primary-bg)}.admin-stat-card--processing{border-color:var(--color-secondary);background:var(--color-primary-bg)}.admin-stat-card--out-for-delivery{border-color:var(--color-primary);background:var(--color-primary-bg)}.admin-stat-card--completed{border-color:var(--color-success);background:var(--color-success-bg)}.admin-filter-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.admin-stat-label{display:block;font-size:13px;color:var(--color-text-soft);margin-bottom:4px}.admin-stat-value{font-size:24px;font-weight:700;color:var(--color-text)}.admin-filter{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--color-text-soft)}.admin-filter-card label{font-size:13px;color:var(--color-text-soft);font-weight:600}.admin-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:14px;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.admin-filter-select:hover{border-color:var(--color-primary-border)}.admin-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.admin-loading,.admin-error,.admin-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;color:var(--color-text-medium);box-shadow:var(--shadow-sm)}.admin-error{color:var(--color-error);border-color:var(--color-error-bg);background:var(--color-error-bg)}.admin-empty{color:var(--color-text-soft)}.admin-orders{display:flex;flex-direction:column;gap:var(--space-4)}.admin-order-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4)}.admin-order-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.admin-order-status-controls{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.admin-status-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.admin-status-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-medium);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.admin-status-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-status-btn:disabled{opacity:.6;cursor:not-allowed}.admin-status-btn--confirmed{border-color:var(--color-primary);color:var(--color-primary)}.admin-status-btn--confirmed:hover:not(:disabled){background:var(--color-primary-bg)}.admin-status-btn--processing{border-color:var(--color-secondary);color:var(--color-secondary)}.admin-status-btn--processing:hover:not(:disabled){background:var(--color-primary-bg)}.admin-status-btn--out_for_delivery{border-color:var(--color-primary);color:var(--color-primary)}.admin-status-btn--out_for_delivery:hover:not(:disabled){background:var(--color-primary-bg)}.admin-status-btn--completed{border-color:var(--color-success);color:var(--color-success)}.admin-status-btn--completed:hover:not(:disabled){background:var(--color-success-bg)}.admin-status-btn--cancelled{border-color:var(--color-error);color:var(--color-error)}.admin-status-btn--cancelled:hover:not(:disabled){background:var(--color-error-bg)}.admin-order-date{color:var(--color-text-soft);font-size:14px}.admin-status{padding:6px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.admin-status--pending{background:var(--color-warning-bg);color:var(--color-warning)}.admin-status--confirmed,.admin-status--completed{background:var(--color-success-bg);color:var(--color-success)}.admin-status--processing{background:var(--color-primary-bg);color:var(--color-primary-dark)}.admin-status--out_for_delivery{background:var(--color-primary-bg);color:var(--color-primary)}.admin-status--cancelled{background:var(--color-error-bg);color:var(--color-error)}.admin-order-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-soft);border-radius:var(--radius-md)}.admin-label{display:block;font-size:13px;color:var(--color-text-soft);margin-bottom:4px}.admin-value{font-size:16px;font-weight:600;color:var(--color-text)}.admin-text-muted{color:var(--color-text-muted);font-weight:500}.admin-order-location,.admin-order-notes{padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-soft)}.admin-location-link{display:inline-block;margin-top:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:12px;font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.admin-location-link:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-order-labels{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-soft)}.admin-labels-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.admin-label-tag{padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:11px;font-weight:600;color:var(--color-text-medium)}.admin-item-notes{color:var(--color-text-soft);font-style:italic;font-size:12px}.admin-phone-number{font-family:IBM Plex Sans Arabic,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.5px;direction:ltr;display:inline-block;text-align:right;unicode-bidi:bidi-override}.admin-customer-name{color:var(--color-primary);font-weight:700;font-size:17px}.admin-order-items ul{list-style:none;display:flex;flex-direction:column;gap:6px;padding-inline-start:0}.admin-order-items li{font-size:14px;color:var(--color-text-medium)}.admin-order-items{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-hover)}.admin-order-notes{background:var(--color-warning-bg);border-color:var(--color-warning-bg);color:var(--color-warning)}.qty-controls--sm .qty-btn{width:36px;height:36px}.qty-controls--md .qty-btn{width:44px;height:44px}.qty-controls--lg .qty-btn{width:52px;height:52px}.qty-btn:hover:not(:disabled){background:var(--color-bg-soft);color:var(--color-primary)}.qty-btn:active:not(:disabled){background:var(--color-primary-bg);transform:scale(.95)}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-btn:after{content:"";position:absolute;top:25%;bottom:25%;width:1px;background:var(--color-border)}.qty-btn--dec:after{inset-inline-end:0}.qty-btn--inc:after{inset-inline-start:0}.qty-icon{width:16px;height:16px}.qty-btn--delete{color:#ef4444}.qty-btn--delete:hover:not(:disabled){background:transparent!important;color:#dc2626!important}.qty-display{display:flex;align-items:center;justify-content:center;background:var(--color-bg-soft);color:var(--color-text);font-weight:700;flex:1;min-width:40px;height:100%}.qty-value{font-size:14px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.5);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;z-index:50;box-shadow:0 -4px 20px #7c3aed1a;padding:0 var(--space-2)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-text-soft);text-decoration:none;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-normal);position:relative}.nav-item:hover{color:var(--color-primary);background:var(--color-bg-soft)}.nav-item.is-active{color:var(--color-primary)}.nav-link-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.icon-bubble{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:transparent;transition:all var(--transition-normal);position:relative}.nav-item:hover .icon-bubble,.nav-item.is-active .icon-bubble{background:var(--color-primary-bg)}.nav-icon{width:24px;height:24px}.nav-label{font-size:11px;font-weight:600;line-height:1}.nav-count{position:absolute;top:-4px;inset-inline-end:-4px;min-width:20px;height:20px;padding:0 4px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;width:var(--sidebar-width);background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-inline-end:1px solid rgba(255,255,255,.5);display:none;z-index:50;box-shadow:4px 0 20px #7c3aed0d}@media (min-width: 1024px){.sidebar{display:block}.bottom-nav{display:none}}.sidebar-inner{height:100%;display:flex;flex-direction:column;padding:var(--space-4) 0}.sidebar-top,.sidebar-mid,.sidebar-bottom{display:flex;flex-direction:column}.sidebar-mid{flex:1}.rail{display:flex;flex-direction:column;gap:var(--space-2)}.rail-item{display:flex;align-items:center;justify-content:center;height:48px;color:var(--color-text-soft);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-normal);position:relative}.rail-item:hover{color:var(--color-primary);background:var(--color-bg-soft)}.rail-item[aria-current=page]{color:var(--color-primary);background:var(--color-primary-bg)}.rail-item svg{width:24px;height:24px}.rail-count{position:absolute;top:-4px;inset-inline-end:8px;min-width:18px;height:18px;padding:0 4px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.catbar{margin-bottom:var(--space-5)}.catbar-scroll{display:flex;gap:var(--space-3);overflow-x:auto;scrollbar-width:none;padding:var(--space-1) 0}.catbar-scroll::-webkit-scrollbar{display:none}.cat-pill{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-medium);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-xs)}.cat-pill:hover{background:var(--color-bg-soft);border-color:var(--color-primary-border);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cat-pill.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cat-pill img{width:24px;height:24px;border-radius:var(--radius-full);object-fit:cover}.neural-page-title{text-align:center;margin-bottom:var(--space-6);color:var(--color-text)}.toast-viewport{position:fixed;top:var(--space-6);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:0 var(--space-4);z-index:1000;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);padding:var(--space-3) var(--space-4);max-width:400px;font-size:14px;font-weight:600;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast[data-leaving=true]{animation:slideDown .2s ease-in forwards}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}.toast-success{border-color:var(--color-success);background:var(--color-success-bg)}.toast-error{border-color:var(--color-error);background:var(--color-error-bg)}.toast-warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.toast-info{border-color:var(--color-primary-border);background:var(--color-primary-bg)}.toast-icon{display:flex;align-items:center;justify-content:center}.toast-message{flex:1}.toast-dismiss{background:transparent;border:none;color:var(--color-text-soft);font-size:18px;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast-dismiss:hover{background:#0000000d;color:var(--color-text)}.promo-toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:90;width:auto;min-width:280px;max-width:90%;animation:slideUpFade .5s cubic-bezier(.16,1,.3,1)}@media (max-width: 1023px){.promo-toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}.promo-toast-content{background:#7c3aedd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:8px 16px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 32px #7c3aed4d;border:1px solid rgba(255,255,255,.2)}.promo-timer{background:#fff3;color:#fff;padding:4px 10px;border-radius:999px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:4px;white-space:nowrap;border:1px solid rgba(255,255,255,.1)}.promo-icon-flash{font-size:12px;color:#fbbf24;animation:pulse 1.5s infinite}.promo-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.promo-title{font-weight:800;font-size:13px}.promo-subtitle{font-size:10px;opacity:.9;white-space:nowrap}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.free-delivery-toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(20px);z-index:89;width:auto;min-width:280px;max-width:90%;opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.16,1,.3,1)}.free-delivery-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.fd-toast-content{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 16px;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px #0000001f;border:1px solid rgba(0,0,0,.05)}.fd-icon-wrapper{width:36px;height:36px;border-radius:50%;background:#fff7ed;display:flex;align-items:center;justify-content:center;color:#d97706;font-size:18px}.fd-icon.is-bouncing{color:#10b981;animation:bounce 1s infinite}.fd-info{flex:1;min-width:180px}.fd-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.fd-title{font-size:13px;font-weight:700;color:var(--color-text)}.fd-percent{font-size:12px;font-weight:700;color:#d97706;direction:ltr}.fd-progress-bg{height:6px;background:#0000000f;border-radius:99px;overflow:hidden}.fd-progress-fill{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1)}@media (max-width: 1023px){.free-delivery-toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{pointer-events:none}.skeleton-image{aspect-ratio:1 / 1;border-radius:var(--radius-md)}.skeleton-title{height:20px;width:80%;margin-bottom:var(--space-2)}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-text--short{width:60%}.skeleton-text--medium{width:75%}.skeleton-price{height:18px;width:50%;margin-bottom:var(--space-3)}.skeleton-button{height:44px;width:100%;border-radius:var(--radius-md)}.loading-text{text-align:center;color:var(--color-text-soft);padding:var(--space-8);font-weight:500}.error-text{background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);color:var(--color-error)}.neural-error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.neural-end-message{text-align:center;padding:var(--space-6);margin:var(--space-4) 0;color:var(--color-text-soft);font-weight:600}.neural-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-12);text-align:center;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);margin:var(--space-8) 0;box-shadow:var(--shadow-sm)}.neural-empty-state__icon{font-size:48px;opacity:.6}.neural-empty-state__title{font-size:20px;font-weight:700;color:var(--color-text)}.neural-empty-state__subtitle{font-size:14px;color:var(--color-text-soft)}.category-list{display:flex;flex-direction:column;gap:var(--space-4)}.category-row{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-normal)}.category-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-border)}.category-thumb{width:96px;height:76px;border-radius:var(--radius-md);background:var(--color-bg-soft);padding:var(--space-2);display:flex;align-items:center;justify-content:center}.category-thumb img{width:100%;height:100%;object-fit:contain}.category-row-title{font-size:17px;font-weight:700;color:var(--color-text)}.category-grid{display:none}@media (min-width: 1024px){.category-list{display:none}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}@media (min-width: 1280px){.category-grid{grid-template-columns:repeat(5,1fr)}}.category-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;transition:all var(--transition-normal)}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-border)}.category-media{aspect-ratio:1 / 1;background:var(--color-bg-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.category-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.category-card:hover .category-media img{transform:scale(1.05)}.category-label{padding:var(--space-4);text-align:center}.category-title{font-size:16px;font-weight:700;color:var(--color-text)}.search-hero{margin-bottom:var(--space-6);padding-top:var(--space-4);display:flex;justify-content:center}.search-bar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);transition:all var(--transition-normal);min-height:56px;width:100%;max-width:800px}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-lg),0 0 0 4px var(--color-primary-bg);transform:translateY(-2px)}.search-prefix,.search-affix{display:flex;align-items:center;justify-content:center;color:var(--color-text-soft)}.search-prefix svg,.search-clear svg{width:22px;height:22px}.search-field{width:100%;border:none;background:transparent;color:var(--color-text);font-size:16px;font-family:inherit;padding:var(--space-2) 0;font-weight:500}.search-field:focus{outline:none}.search-field::placeholder{color:var(--color-text-muted);font-weight:400}.search-clear{background:transparent;border:none;color:var(--color-text-soft);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.search-clear:hover{background:var(--color-bg-soft);color:var(--color-error)}.search-clear:active{transform:scale(.95)}.search-submit{background:var(--color-primary);border:none;color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:15px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;display:flex;align-items:center;gap:var(--space-2);min-height:44px;box-shadow:0 2px 8px #0000001a}.search-submit:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.search-submit:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}@media (max-width: 640px){.search-bar{padding:var(--space-2) var(--space-3);min-height:52px;gap:var(--space-1)}.search-submit{padding:var(--space-2) var(--space-3);font-size:14px;min-height:40px}.search-submit span{display:none}.search-submit svg{width:20px;height:20px}.search-field{font-size:15px}}.results-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-text-medium);font-size:15px}.results-count{font-size:13px;color:var(--color-text-soft);background:var(--color-bg-soft);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600}.filters-bar{margin-bottom:var(--space-5)}.filters-scroll{display:flex;gap:var(--space-3);overflow-x:auto;scrollbar-width:none;padding:var(--space-1) 0}.filters-scroll::-webkit-scrollbar{display:none}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-text-soft);font-size:16px;font-weight:500}.cart-summary{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}@media (max-width: 1023px){.cart-summary--fixed{position:relative;bottom:auto;left:auto;right:auto;z-index:1;margin:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;max-height:none;overflow-y:visible}.app--authenticated .cart-summary--fixed{bottom:170px;max-height:calc(100vh - 360px)}.content:has(.cart-summary--fixed){padding-bottom:280px}.app--authenticated .content:has(.cart-summary--fixed){padding-bottom:400px}}@media (min-width: 640px){.cart-summary{flex-direction:row;justify-content:space-between;align-items:center}}.cart-total{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:18px;font-weight:700;color:var(--color-primary)}.cart-breakdown{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.breakdown-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.breakdown-label{font-size:15px;font-weight:500;color:var(--color-text-medium)}.breakdown-value{font-size:15px;font-weight:600;color:var(--color-text)}.breakdown-row.breakdown-total{padding-top:var(--space-3);border-top:2px solid var(--color-border);margin-top:var(--space-2)}.breakdown-total .breakdown-label{font-size:16px;font-weight:700;color:var(--color-text)}.breakdown-total .breakdown-value{font-size:18px;font-weight:700;color:var(--color-primary)}.breakdown-total .amount{font-size:20px}.breakdown-total .unit{font-size:14px}.delivery-fee{color:var(--color-primary)!important}.cart-actions{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width: 640px){.cart-actions{flex-direction:row}}.btn-pin-order{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 2px 8px #0000001a}.btn-pin-order:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-pin-order:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}@media (min-width: 640px){.btn-pin-order{min-width:200px;width:auto}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:radial-gradient(circle at top right,#f5f3ff,#fdfbfc);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-10%;right:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(124,58,237,.15) 0%,transparent 70%);border-radius:50%;z-index:0}.auth-page:after{content:"";position:absolute;bottom:-10%;left:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(219,39,119,.1) 0%,transparent 70%);border-radius:50%;z-index:0}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-card{background:#ffffffbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:0 20px 40px #0000000d,0 0 0 1px #ffffff80}@media (min-width: 640px){.auth-card{padding:var(--space-10)}}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.auth-logo-text{font-size:24px;font-weight:700;color:#fff}.auth-title{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 var(--space-2) 0;line-height:1.3}@media (min-width: 640px){.auth-title{font-size:28px}}.auth-subtitle{font-size:14px;font-weight:400;color:var(--color-text-soft);margin:0;line-height:1.6}@media (min-width: 640px){.auth-subtitle{font-size:15px}}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;right:var(--space-4);color:var(--color-text-soft);pointer-events:none}.auth-input{width:100%;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:16px;font-weight:500;color:var(--color-text);transition:all var(--transition-normal);letter-spacing:.5px}.auth-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #0ea5e91a}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-input::placeholder{color:var(--color-text-muted)}.auth-btn{width:100%;padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-bounce);box-shadow:0 4px 15px #7c3aed4d;position:relative;overflow:hidden}.auth-btn:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.auth-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.otp-inputs{display:flex;gap:var(--space-1);justify-content:center;direction:ltr}@media (min-width: 640px){.otp-inputs{gap:var(--space-3)}}.otp-input{width:48px;height:56px;padding:0;background:#ffffff80;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:24px;font-weight:700;color:var(--color-text);text-align:center;transition:all var(--transition-bounce);caret-color:var(--color-primary)}@media (min-width: 640px){.otp-input{width:56px;height:64px;font-size:28px}}.otp-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #0ea5e91a}.otp-input:disabled{opacity:.6;cursor:not-allowed}.auth-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}@media (min-width: 640px){.auth-actions{flex-direction:row;justify-content:center;gap:var(--space-6)}}.auth-link{background:none;border:none;color:var(--color-primary);font-size:14px;font-weight:600;cursor:pointer;padding:var(--space-2);transition:all var(--transition-normal)}.auth-link:hover:not(:disabled){color:var(--color-primary-dark);text-decoration:underline}.auth-link:disabled{opacity:.6;cursor:not-allowed}.pv,.pv-body{display:grid;gap:var(--space-6)}@media (min-width: 1024px){.pv-body{grid-template-columns:1.2fr 1fr;gap:var(--space-8)}}.pv-media{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.pv-hero{aspect-ratio:1 / 1;background:var(--color-bg-soft);border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.pv-hero img{width:100%;height:100%;object-fit:contain}.pv-thumbs{display:flex;gap:var(--space-3);overflow-x:auto;margin-top:var(--space-4);scrollbar-width:none}.pv-thumbs::-webkit-scrollbar{display:none}.pv-thumb{flex-shrink:0;width:72px;aspect-ratio:1 / 1;background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);cursor:pointer;transition:all var(--transition-normal)}.pv-thumb:hover{border-color:var(--color-primary-border)}.pv-thumb.is-active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.pv-thumb img{width:100%;height:100%;object-fit:contain}.pv-info{display:flex;flex-direction:column;gap:var(--space-5)}.pv-title{font-size:clamp(20px,4vw,28px);font-weight:700;color:var(--color-text)}.pv-price{display:flex;align-items:baseline;gap:var(--space-2)}.pv-amount{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-primary)}.pv-unit{font-size:14px;font-weight:600;color:var(--color-text-soft)}.pv-desc{color:var(--color-text-soft);line-height:1.6}.pv-quantity{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}@media (min-width: 640px){.pv-quantity{grid-template-columns:auto 1fr auto;align-items:center}}.pv-quantity-label{font-weight:600;color:var(--color-text)}.pv-cart-info{font-size:13px;color:var(--color-text-soft);background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);text-align:center}.pv-ctas{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 640px){.pv-ctas{grid-template-columns:1fr 1fr}}.pv-primary,.pv-secondary{padding:var(--space-4);border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:all var(--transition-normal);text-align:center;border:none;font-size:16px}.pv-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.pv-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pv-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.pv-secondary:hover{background:var(--color-bg-soft);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pv-sections{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.pv-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.pv-section h2{font-size:18px;margin-bottom:var(--space-3)}.pv-specs{margin:0;padding-inline-start:20px;color:var(--color-text-soft)}.pv-text{color:var(--color-text-soft);line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.card{height:auto;min-height:320px}.card-media{padding:var(--space-2);min-height:180px}.card-body{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.card-title{font-size:13px;line-height:1.3;margin-bottom:var(--space-1)}.price-row{margin:var(--space-1) 0}.price-row .amount{font-size:16px}.add-btn{font-size:12px;padding:var(--space-2) var(--space-3);margin-top:var(--space-2)}}@media print{.bottom-nav,.sidebar,.add-btn,.qty-controls{display:none!important}}.neural-product-grid{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.neural-loader{display:flex;align-items:center;justify-content:center;padding:var(--space-12)}.neural-action-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);cursor:pointer;transition:all var(--transition-normal)}.neural-action-btn:hover{background:var(--color-bg-soft);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.neural-action-btn--active{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary)}.neural-action-btn svg{width:20px;height:20px}.product-page{min-height:100vh;background:var(--color-bg)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 0 var(--space-4) 0;background:transparent;border:none;color:var(--color-text-soft);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-2)}@media (min-width: 640px){.back-btn{margin-bottom:var(--space-3);padding:var(--space-2) 0 var(--space-5) 0}}@media (min-width: 1024px){.back-btn{margin-bottom:var(--space-4);padding:var(--space-2) 0 var(--space-6) 0}}.back-btn:hover{color:var(--color-text);transform:translate(4px)}.product-layout{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width: 640px){.product-layout{gap:var(--space-4)}}@media (min-width: 1024px){.product-layout{flex-direction:row;gap:var(--space-8);align-items:flex-start}}@media (min-width: 1280px){.product-layout{gap:var(--space-10)}}.product-layout>*{flex:1;min-width:0}@media (min-width: 1024px){.product-images{flex:0 0 420px;max-width:420px}.product-details{flex:1}}.product-images{display:flex;flex-direction:column;gap:var(--space-1);width:100%}@media (min-width: 640px){.product-images{gap:var(--space-2)}}@media (min-width: 1024px){.product-images{gap:var(--space-3)}}.main-image{position:relative;width:100%;max-width:100%;max-height:240px;margin:0 auto;aspect-ratio:4 / 3;background:#fff;border-radius:var(--radius-md);padding:var(--space-1);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 1px 3px #0000000d}@media (min-width: 640px){.main-image{padding:var(--space-3);max-height:320px;border-radius:var(--radius-lg)}}@media (min-width: 768px){.main-image{padding:var(--space-4);max-height:380px;border-radius:var(--radius-xl)}}@media (min-width: 1024px){.main-image{padding:var(--space-5);max-width:420px;max-height:none;width:420px;height:420px;aspect-ratio:1 / 1}}.main-image img{width:100%;height:100%;object-fit:contain}.image-thumbs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);width:100%;justify-content:flex-start}@media (min-width: 1024px){.image-thumbs{max-width:420px}}.image-thumbs::-webkit-scrollbar{height:4px}.image-thumbs::-webkit-scrollbar-track{background:var(--color-border);border-radius:2px}.image-thumbs::-webkit-scrollbar-thumb{background:var(--color-text-soft);border-radius:2px}.thumb{flex-shrink:0;width:50px;height:50px;background:#fff;border:2px solid transparent;border-radius:var(--radius-sm);padding:4px;cursor:pointer;transition:all var(--transition-fast)}@media (min-width: 640px){.thumb{width:65px;height:65px;border-radius:var(--radius-md);padding:var(--space-2)}}@media (min-width: 768px){.thumb{width:70px;height:70px}}.thumb:hover{border-color:var(--color-border)}.thumb.active{border-color:var(--color-primary)}.thumb img{width:100%;height:100%;object-fit:contain}.product-details{display:flex;flex-direction:column;gap:var(--space-4);width:100%;padding-bottom:calc(var(--space-20) + var(--space-4))}@media (min-width: 640px){.product-details{gap:var(--space-5)}}@media (min-width: 1024px){.product-details{gap:var(--space-6);padding-bottom:0}}.product-name{font-size:22px;font-weight:700;color:var(--color-text);line-height:1.3;margin:0;order:1}@media (min-width: 640px){.product-name{font-size:28px}}@media (min-width: 1024px){.product-name{font-size:34px;line-height:1.2}}.product-price{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-full);order:3}@media (min-width: 1024px){.product-price{order:2}}.product-price .price{font-size:28px;font-weight:700;color:var(--color-primary)}@media (min-width: 640px){.product-price .price{font-size:36px}}@media (min-width: 1024px){.product-price .price{font-size:42px}}.product-price .currency{font-size:16px;font-weight:600;color:var(--color-text-soft)}@media (min-width: 640px){.product-price .currency{font-size:18px}}.product-description{padding:0;background:transparent;border:none;order:4}@media (min-width: 1024px){.product-description{order:3}}.product-description p{margin:0;color:var(--color-text-soft);line-height:1.8;font-size:15px}@media (min-width: 640px){.product-description p{font-size:16px;line-height:1.9}}.product-actions{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0;margin-top:auto;background:transparent;border:none;box-shadow:none;z-index:auto;order:2}@media (min-width: 1024px){.product-actions{position:static;padding:0;margin-top:var(--space-2);background:transparent;border:none;box-shadow:none;z-index:auto;order:4}}.quantity-section{display:flex;flex-direction:column;gap:var(--space-2)}.quantity-label{font-size:13px;font-weight:600;color:var(--color-text)}@media (min-width: 640px){.quantity-label{font-size:14px}}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 2px 8px #0000001a}@media (min-width: 640px){.btn-primary{padding:var(--space-4) var(--space-6);font-size:17px}}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.home-cart-fab{position:fixed;bottom:var(--space-6);right:var(--space-4);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all var(--transition-normal);z-index:100}.home-cart-fab:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.home-cart-fab:active{transform:translateY(0)}.home-cart-fab .cart-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg)}.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-6) auto;max-width:450px}@media (min-width: 640px){.error-state,.empty-state{gap:var(--space-4);padding:var(--space-12);border-radius:var(--radius-xl);margin:var(--space-8) auto}}.error-state h2,.empty-state h2{font-size:18px;font-weight:700;color:var(--color-text);margin:0}@media (min-width: 640px){.error-state h2,.empty-state h2{font-size:20px}}.error-state p,.empty-state p{font-size:13px;color:var(--color-text-soft);margin:0}@media (min-width: 640px){.error-state p,.empty-state p{font-size:14px}}.empty-icon{font-size:40px;opacity:.5}@media (min-width: 640px){.empty-icon{font-size:48px}}.retry-btn{padding:var(--space-3) var(--space-4);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:all var(--transition-normal)}@media (min-width: 640px){.retry-btn{padding:var(--space-3) var(--space-5);font-size:14px}}.retry-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.whatsapp-warning{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--radius-lg);margin-bottom:var(--space-4);color:#92400e}.whatsapp-warning svg{flex-shrink:0;color:#f59e0b;margin-top:2px}.warning-content{display:flex;flex-direction:column;gap:var(--space-1)}.warning-content h3{font-size:14px;font-weight:700;margin:0;color:#92400e}.warning-content p{font-size:13px;margin:0;color:#78350f;line-height:1.5}@media (min-width: 640px){.warning-content h3{font-size:15px}.warning-content p{font-size:14px}}.location-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.location-info{display:flex;align-items:center;gap:var(--space-3)}.location-text{display:flex;flex-direction:column;gap:var(--space-1)}.location-label{font-size:12px;font-weight:500;color:var(--color-text-soft)}.location-value{font-size:14px;font-weight:600;color:var(--color-text)}.delivery-fee-note{font-size:12px;font-weight:600;color:var(--color-primary);margin-top:2px}.location-icon{font-size:24px}.btn-change-location{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn-change-location:hover{background:var(--color-primary-bg);border-color:var(--color-primary)}.location-picker-overlay{position:fixed;inset:0;background:var(--color-bg);z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.location-picker{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}.location-picker-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);box-shadow:0 2px 8px #0000001a;z-index:1001}.location-picker-header h2{font-size:16px;font-weight:700;color:var(--color-text);margin:0}.btn-back{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all var(--transition-normal)}.btn-back:hover{background:var(--color-bg-soft)}.location-bottom-card{position:absolute;bottom:0;left:0;right:0;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 12px #0000001a;z-index:1001;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.location-card-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 640px){.location-card-content{padding:var(--space-5)}}.selected-address{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);border:2px solid var(--color-border)}.address-icon{font-size:28px;flex-shrink:0;line-height:1}.address-text{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.address-label{font-size:12px;font-weight:600;color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.5px}.address-value{font-size:14px;font-weight:600;color:var(--color-text);word-wrap:break-word;display:flex;flex-direction:column;gap:var(--space-2);line-height:1.5}@media (min-width: 640px){.address-value{font-size:15px}}.map-hint{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:1000;animation:hintFadeIn .5s ease,hintPulse 2s ease-in-out infinite 1s;pointer-events:none}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes hintPulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.map-hint-content{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000026;border:2px solid var(--color-primary);max-width:90vw}.map-hint-icon{font-size:20px;animation:pointDown 1s ease-in-out infinite}@keyframes pointDown{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.map-hint-text{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap}@media (max-width: 640px){.map-hint-text{white-space:normal;text-align:center;max-width:250px}}.location-method-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:#f59e0b26;color:#f59e0b;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:var(--space-1)}.location-method-badge.location-method-gps{background:#22c55e26;color:#22c55e;display:inline-flex;align-items:center;gap:var(--space-1)}.gps-pulse-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:gpsPulse 2s ease-in-out infinite;flex-shrink:0}@keyframes gpsPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.gps-tracking-text{font-size:10px;opacity:.9}.location-method-badge.location-method-manual{background:#3b82f626;color:#3b82f6}.location-actions{display:flex;gap:var(--space-3);align-items:center}.btn-locate-me{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-primary);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.btn-locate-me:hover:not(:disabled){background:var(--color-primary);color:#fff;transform:scale(1.05)}.btn-locate-me:disabled{opacity:.5;cursor:not-allowed}.location-spinner{width:24px;height:24px;border:3px solid rgba(37,99,235,.2);border-top-color:var(--color-primary);border-radius:50%;animation:locationSpin .8s linear infinite}@keyframes locationSpin{to{transform:rotate(360deg)}}.btn-confirm-location{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);min-height:56px}.btn-confirm-location:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-confirm-location:disabled{opacity:.5;cursor:not-allowed;transform:none}.map-container{width:100%;height:100%;background:var(--color-bg-soft);overflow:hidden;position:absolute;inset:0;z-index:1000}.map-container.gps-locked{pointer-events:none}.map-container.gps-locked:after{content:"";position:absolute;inset:0;background:transparent;z-index:2000;cursor:not-allowed;pointer-events:all}.gps-locked-indicator{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:2001;pointer-events:none;animation:fadeInScale .4s ease}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.gps-locked-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#22c55ef2;color:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 12px #22c55e4d;font-size:14px;font-weight:700;white-space:nowrap}.gps-locked-badge span:first-child{font-size:18px}.leaflet-container{font-family:IBM Plex Sans Arabic,sans-serif;direction:rtl;height:100%;width:100%}.leaflet-control-attribution{font-size:10px;direction:ltr;text-align:left;background:#ffffffe6!important}.leaflet-control-zoom{border:2px solid rgba(0,0,0,.1)!important;border-radius:var(--radius-md)!important}.custom-marker{background:transparent;border:none}.gender-modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gender-modal-content{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);width:100%;max-width:400px;box-shadow:var(--shadow-xl);text-align:center;position:relative;overflow:hidden}.gender-modal-accent{position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899 66%,#3b82f6);background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gender-modal-title{font-size:24px;font-weight:700;margin-bottom:var(--space-3);color:var(--color-text)}.gender-modal-subtitle{font-size:16px;color:var(--color-text);margin-bottom:var(--space-8);margin-top:var(--space-4);line-height:1.6;font-weight:500}.gender-modal-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.gender-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);border-radius:var(--radius-lg);border:2px solid var(--color-border-medium);background:var(--color-bg-soft);cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.gender-option:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity var(--transition-normal)}.gender-option:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gender-option:active{transform:translateY(0)}.gender-option:disabled{opacity:.6;cursor:not-allowed}.gender-option.male:hover{border-color:#3b82f6;background:#eff6ff}.gender-option.male:before{background:#3b82f6}.gender-option.male:hover:before{opacity:.05}.gender-option.male .gender-icon{background:#dbeafe;color:#3b82f6}.gender-option.male:hover .gender-icon{background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f64d}.gender-option.male:hover .gender-label{color:#3b82f6}.gender-option.female:hover{border-color:#ec4899;background:#fdf2f8}.gender-option.female:before{background:#ec4899}.gender-option.female:hover:before{opacity:.05}.gender-option.female .gender-icon{background:#fce7f3;color:#ec4899}.gender-option.female:hover .gender-icon{background:#ec4899;color:#fff;box-shadow:0 4px 12px #ec48994d}.gender-option.female:hover .gender-label{color:#ec4899}.gender-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);font-size:40px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.gender-label{font-weight:700;font-size:16px;color:var(--color-text);transition:color var(--transition-normal)}
