*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--primary:#B71C1C;--primary-dark:#8B0000;--primary-light:#D32F2F;--secondary:#E6A000;--secondary-light:#FFC107;--gold:#D4A017;--dark:#1A1A1A;--dark-2:#2D2D2D;--gray:#8E8E93;--gray-light:#F2F2F7;--gray-medium:#C7C7CC;--white:#FFFFFF;--bg:#FAFAFA;--success:#2E7D32;--warning:#E65100;--danger:#C62828;--shadow:0 4px 20px rgba(0,0,0,.08);--shadow-lg:0 10px 40px rgba(0,0,0,.12);--shadow-primary:0 8px 25px rgba(183,28,28,.35);--radius:16px;--radius-sm:12px;--radius-xs:8px;--transition:all .3s cubic-bezier(.4,0,.2,1);--nav-height:76px;--safe-bottom:env(safe-area-inset-bottom,0px)}
body{font-family:'Vazir',Tahoma,sans-serif;background:var(--bg);color:var(--dark);overflow-x:hidden;min-height:100vh;direction:rtl}
.app-container{max-width:430px;margin:0 auto;min-height:100vh;position:relative;background:var(--bg);overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,.1)}
.screen{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100vh;opacity:0;visibility:hidden;transition:var(--transition);overflow-y:auto;overflow-x:hidden;background:var(--bg)}
.screen.active{opacity:1;visibility:visible;z-index:10}
.screen.slide-in{animation:slideIn .4s cubic-bezier(.4,0,.2,1) forwards}
.screen.slide-out{animation:slideOut .3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes slideIn{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOut{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
.splash-screen{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 50%,var(--secondary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}
.splash-logo{width:140px;height:140px;background:var(--white);border-radius:35px;display:flex;align-items:center;justify-content:center;margin-bottom:30px;animation:pulse 2s ease-in-out infinite;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.splash-logo i{font-size:60px;color:var(--primary)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.splash-title{font-size:32px;font-weight:900;color:var(--white);margin-bottom:8px;letter-spacing:-.5px}
.splash-subtitle{font-size:15px;color:rgba(255,255,255,.85);font-weight:300}
.splash-loader{position:absolute;bottom:80px;width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btn{width:100%;padding:16px 32px;border:none;border-radius:var(--radius);font-family:'Vazir',sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);box-shadow:var(--shadow-primary)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(183,28,28,.45)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:var(--gray-light);color:var(--dark)}
.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.auth-screen{padding:0 24px;min-height:100vh;display:flex;flex-direction:column}
.auth-header{padding-top:60px;margin-bottom:32px}
.auth-back{width:44px;height:44px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);margin-bottom:32px;transition:var(--transition)}
.auth-back:hover{background:var(--gray-light)}
.auth-title{font-size:28px;font-weight:800;color:var(--dark);margin-bottom:8px}
.auth-subtitle{font-size:15px;color:var(--gray)}
.auth-form{flex:1;display:flex;flex-direction:column;gap:20px}
.input-group{position:relative}
.input-group label{font-size:13px;font-weight:600;color:var(--dark-2);margin-bottom:8px;display:block}
.input-group input{width:100%;padding:16px 20px;padding-right:50px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:15px;color:var(--dark);background:var(--white);transition:var(--transition);direction:rtl}
.input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(183,28,28,.1)}
.input-group input::placeholder{color:var(--gray-medium)}
.input-group .input-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--gray);font-size:18px;margin-top:12px;pointer-events:none}
.otp-info{background:var(--gray-light);padding:14px 18px;border-radius:var(--radius-sm);font-size:13px;color:var(--gray);text-align:center;line-height:1.7}
.otp-info strong{color:var(--primary);font-weight:700;direction:ltr;display:inline-block}
.otp-timer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;color:var(--gray)}
#otp-resend{color:var(--primary);font-weight:700;cursor:pointer}
#otp-resend:hover{text-decoration:underline}
.home-screen{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 40px)}
.home-header{padding:50px 24px 20px;background:var(--white);border-radius:0 0 28px 28px;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.home-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.user-info{display:flex;align-items:center;gap:12px}
.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;color:var(--white);font-size:18px;font-weight:700;position:relative}
.user-avatar .online-dot{position:absolute;bottom:2px;left:2px;width:12px;height:12px;background:var(--success);border:2px solid var(--white);border-radius:50%}
.user-greeting{font-size:12px;color:var(--gray)}
.user-name{font-size:16px;font-weight:700;color:var(--dark)}
.home-actions{display:flex;gap:12px}
.home-action-btn{width:44px;height:44px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:var(--transition);border:none;color:var(--dark);font-size:18px}
.home-action-btn:hover{background:#FFE8E3;color:var(--primary)}
.home-action-btn .badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:var(--primary);color:var(--white);font-size:10px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}
.search-bar{display:flex;align-items:center;gap:12px;background:var(--gray-light);border-radius:var(--radius-sm);padding:4px}
.search-bar input{flex:1;padding:12px 16px;border:none;background:transparent;font-family:'Vazir',sans-serif;font-size:14px;color:var(--dark);direction:rtl}
.search-bar input::placeholder{color:var(--gray)}
.search-bar input:focus{outline:none}
.search-bar .search-btn{width:44px;height:44px;background:var(--primary);border:none;border-radius:var(--radius-xs);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--transition)}
.search-bar .search-btn:hover{background:var(--primary-dark)}
.location-bar{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;background:#FFF5F3;border-radius:var(--radius-xs);cursor:pointer}
.location-bar i{color:var(--primary);font-size:16px}
.location-bar span{font-size:13px;color:var(--dark);font-weight:500}
.location-bar .change{margin-right:auto;font-size:12px;color:var(--primary);font-weight:600}
.banner-section{padding:20px 24px}
.banner-slider{position:relative;overflow:hidden;border-radius:var(--radius)}
.banner-slide{width:100%;height:160px;border-radius:var(--radius);display:none;position:relative;overflow:hidden}
.banner-slide.active{display:block;animation:fadeIn .5s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.banner-slide-content{padding:24px;height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.banner-slide h3{font-size:20px;font-weight:800;color:var(--white);margin-bottom:4px}
.banner-slide p{font-size:13px;color:rgba(255,255,255,.9);margin-bottom:12px}
.banner-slide .discount-badge{display:inline-block;padding:6px 14px;background:var(--white);color:var(--primary);border-radius:20px;font-size:12px;font-weight:700;width:fit-content}
.banner-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3}
.banner-dots .dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.banner-dots .dot.active{width:18px;border-radius:3px;background:var(--white)}
.categories-scroll{display:flex;gap:16px;padding:0 24px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:24px;margin-top:20px}
.categories-scroll::-webkit-scrollbar{display:none}
.category-item{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;min-width:70px;transition:var(--transition)}
.category-item:hover .category-icon{transform:translateY(-3px)}
.category-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;transition:var(--transition);position:relative}
.category-item.active .category-icon{background:var(--primary)!important;box-shadow:0 6px 20px rgba(183,28,28,.4)}
.category-item.active .category-icon span{filter:brightness(0) invert(1)}
.category-name{font-size:12px;font-weight:600;color:var(--dark);text-align:center}
.category-item.active .category-name{color:var(--primary)}
.pizza-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 24px}
.pizza-card{background:var(--white);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}
.pizza-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pizza-card-image{width:100%;height:120px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#FFF3E0,#FFE0B2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative;overflow:hidden}
.pizza-card-image .pizza-emoji{font-size:70px;animation:float 4s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
.pizza-card-favorite{position:absolute;top:8px;left:8px;width:32px;height:32px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);border:none;color:var(--gray);font-size:14px;z-index:2}
.pizza-card-favorite.active{color:var(--primary)}
.pizza-card-favorite:hover{background:var(--white);transform:scale(1.1)}
.pizza-card-tag{position:absolute;top:8px;right:8px;padding:4px 8px;background:var(--primary);color:var(--white);border-radius:6px;font-size:10px;font-weight:700;z-index:2}
.pizza-card-rating{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.pizza-card-rating i{font-size:11px;color:var(--secondary)}
.pizza-card-rating span{font-size:12px;color:var(--gray);font-weight:500}
.pizza-card-name{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pizza-card-desc{font-size:11px;color:var(--gray);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.pizza-card-footer{display:flex;align-items:center;justify-content:space-between}
.pizza-card-price{font-size:15px;font-weight:800;color:var(--primary)}
.pizza-card-price small{font-size:10px;font-weight:500;color:var(--gray)}
.pizza-card-add{width:36px;height:36px;background:var(--primary);border:none;border-radius:50%;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--transition);box-shadow:0 4px 12px rgba(183,28,28,.3)}
.pizza-card-add:hover{background:var(--primary-dark);transform:scale(1.1)}
.popular-section{margin-top:24px}
.popular-list{padding:0 24px;display:flex;flex-direction:column;gap:12px}
.popular-item{display:flex;gap:14px;background:var(--white);padding:14px;border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);align-items:center}
.popular-item:hover{transform:translateX(-4px);box-shadow:var(--shadow-lg)}
.popular-item-image{width:70px;height:70px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#FFF3E0,#FFE0B2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.popular-item-image .pizza-emoji{font-size:40px}
.popular-item-info{flex:1}
.popular-item-name{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px}
.popular-item-desc{font-size:12px;color:var(--gray);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.popular-item-meta{display:flex;align-items:center;gap:12px}
.popular-item-meta span{font-size:11px;color:var(--gray);display:flex;align-items:center;gap:4px}
.popular-item-meta i{font-size:10px}
.popular-item-price{font-size:15px;font-weight:800;color:var(--primary);text-align:left;white-space:nowrap}
.popular-item-price small{font-size:10px;font-weight:500;color:var(--gray)}
.detail-screen{min-height:100vh;background:var(--white)}
.detail-header{position:relative;height:340px;overflow:hidden}
.detail-image-bg{width:100%;height:100%;background:linear-gradient(135deg,#FFF3E0,#FFE0B2);display:flex;align-items:center;justify-content:center;position:relative}
.detail-image-bg .pizza-emoji{font-size:180px;animation:float 4s ease-in-out infinite}
.detail-back{position:absolute;top:50px;right:20px;width:44px;height:44px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;border:none;color:var(--dark);font-size:18px;transition:var(--transition)}
.detail-back:hover{background:var(--white);transform:scale(1.05)}
.detail-favorite{position:absolute;top:50px;left:20px;width:44px;height:44px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;border:none;color:var(--gray);font-size:18px;transition:var(--transition)}
.detail-favorite.active{color:var(--primary)}
.detail-body{background:var(--white);border-radius:28px 28px 0 0;margin-top:-30px;padding:24px;position:relative;z-index:3;min-height:calc(100vh - 310px);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 90px)}
.detail-top-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.detail-name{font-size:24px;font-weight:800;color:var(--dark);margin-bottom:6px}
.detail-restaurant{font-size:13px;color:var(--gray);display:flex;align-items:center;gap:6px}
.detail-restaurant i{color:var(--primary)}
.detail-rating{display:flex;flex-direction:column;align-items:center;gap:4px}
.detail-rating-score{display:flex;align-items:center;gap:4px}
.detail-rating-score i{color:var(--secondary);font-size:14px}
.detail-rating-score span{font-size:16px;font-weight:800;color:var(--dark)}
.detail-rating-count{font-size:11px;color:var(--gray)}
.detail-stats{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--gray-light);border-bottom:1px solid var(--gray-light);margin-bottom:20px;flex-wrap:wrap}
.detail-stat{display:flex;align-items:center;gap:8px}
.detail-stat-icon{width:36px;height:36px;background:#FFF5F3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:14px}
.detail-stat-info{display:flex;flex-direction:column}
.detail-stat-value{font-size:13px;font-weight:700;color:var(--dark)}
.detail-stat-label{font-size:11px;color:var(--gray)}
.detail-description{margin-bottom:24px}
.detail-description h4{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:8px}
.detail-description p{font-size:13px;color:var(--gray);line-height:1.8}
.size-section{margin-bottom:24px}
.size-section h4,.toppings-section h4{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:12px}
.size-options{display:flex;gap:10px}
.size-option{flex:1;padding:14px 8px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:var(--transition);background:var(--white)}
.size-option.active{border-color:var(--primary);background:#FFF5F3}
.size-option .size-icon{width:40px;height:40px;border:2px solid var(--gray-medium);border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.size-option.active .size-icon{border-color:var(--primary);background:var(--primary)}
.size-option.active .size-icon i{color:var(--white)}
.size-option .size-name{font-size:13px;font-weight:700;color:var(--dark);display:block;margin-bottom:4px}
.size-option .size-price{font-size:11px;color:var(--gray)}
.toppings-section{margin-bottom:24px}
.toppings-list{display:flex;flex-wrap:wrap;gap:8px}
.topping-chip{padding:8px 14px;border:2px solid var(--gray-light);border-radius:20px;font-size:12px;font-weight:600;color:var(--dark);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;background:var(--white)}
.topping-chip.active{border-color:var(--primary);background:#FFF5F3;color:var(--primary)}
.topping-chip .price{font-size:10px;color:var(--gray)}
.topping-chip.active .price{color:var(--primary)}
.quantity-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:16px;background:var(--gray-light);border-radius:var(--radius)}
.quantity-label{font-size:14px;font-weight:600;color:var(--dark)}
.quantity-controls{display:flex;align-items:center;gap:16px}
.qty-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--gray-medium);background:var(--white);color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:var(--transition)}
.qty-btn:hover{border-color:var(--primary);color:var(--primary)}
.qty-btn:active{transform:scale(.9)}
.qty-value{font-size:18px;font-weight:800;color:var(--dark);min-width:20px;text-align:center}
.detail-bottom-bar,.cart-bottom-bar,.checkout-bottom{position:fixed;bottom:calc(var(--nav-height) + var(--safe-bottom));left:50%;transform:translateX(-50%);width:100%;max-width:430px;padding:12px 24px;background:var(--white);border-top:1px solid var(--gray-light);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:99;box-shadow:0 -4px 20px rgba(0,0,0,.05)}
.detail-total,.cart-total-info{display:flex;flex-direction:column}
.detail-total-label,.cart-total-label{font-size:12px;color:var(--gray)}
.detail-total-price,.cart-total-price{font-size:20px;font-weight:800;color:var(--primary)}
.detail-add-btn,.cart-checkout-btn,.checkout-place-btn{flex:1;max-width:200px;padding:14px 24px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);border:none;border-radius:var(--radius);font-family:'Vazir',sans-serif;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition);box-shadow:0 6px 20px rgba(183,28,28,.3)}
.detail-add-btn:hover,.cart-checkout-btn:hover,.checkout-place-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(183,28,28,.4)}
.cart-screen{min-height:100vh;background:var(--bg);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 90px)}
.cart-header{padding:50px 24px 20px;background:var(--white);display:flex;align-items:center;justify-content:space-between;border-radius:0 0 28px 28px;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.cart-header-right{display:flex;align-items:center;gap:14px}
.cart-back{width:44px;height:44px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;color:var(--dark);font-size:18px;transition:var(--transition)}
.cart-title{font-size:20px;font-weight:800;color:var(--dark)}
.cart-count{font-size:13px;color:var(--gray);font-weight:500}
.cart-clear{font-size:13px;color:var(--danger);font-weight:600;cursor:pointer;padding:8px;transition:var(--transition)}
.cart-clear:hover{opacity:.7}
.cart-items{padding:20px 24px}
.cart-item{display:flex;gap:14px;background:var(--white);padding:16px;border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);transition:var(--transition);position:relative}
.cart-item:hover{box-shadow:var(--shadow-lg)}
.cart-item-image{width:80px;height:80px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#FFF3E0,#FFE0B2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cart-item-image .pizza-emoji{font-size:45px}
.cart-item-info{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.cart-item-name{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px}
.cart-item-details{font-size:11px;color:var(--gray);margin-bottom:8px}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between}
.cart-item-price{font-size:15px;font-weight:800;color:var(--primary)}
.cart-item-qty{display:flex;align-items:center;gap:10px}
.cart-item-qty .qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gray-medium);background:var(--white);font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--dark)}
.cart-item-qty .qty-btn:hover{border-color:var(--primary);color:var(--primary)}
.cart-item-qty .qty-num{font-size:14px;font-weight:700;min-width:16px;text-align:center}
.cart-item-remove{position:absolute;top:12px;left:12px;width:24px;height:24px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;color:var(--gray);border:none;transition:var(--transition)}
.cart-item-remove:hover{background:#FFE8E8;color:var(--danger)}
.coupon-section{padding:0 24px;margin-bottom:20px}
.coupon-input{display:flex;gap:10px}
.coupon-input input{flex:1;padding:14px 18px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:14px;direction:rtl;background:var(--white)}
.coupon-input input:focus{outline:none;border-color:var(--primary)}
.coupon-input button{padding:14px 20px;background:var(--primary);color:var(--white);border:none;border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap}
.coupon-input button:hover{background:var(--primary-dark)}
.cart-summary{padding:0 24px calc(var(--nav-height) + var(--safe-bottom) + 90px)}
.cart-summary-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.cart-summary-title{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--gray-light)}
.cart-summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px}
.cart-summary-row .label{color:var(--gray)}
.cart-summary-row .value{font-weight:600;color:var(--dark)}
.cart-summary-row.discount .value{color:var(--success)}
.cart-summary-row.total{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-light);font-size:16px}
.cart-summary-row.total .label{font-weight:700;color:var(--dark)}
.cart-summary-row.total .value{font-weight:800;color:var(--primary);font-size:18px}
.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}
.empty-cart-icon{width:120px;height:120px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.empty-cart-icon i{font-size:48px;color:var(--gray-medium)}
.empty-cart h3{font-size:18px;font-weight:700;color:var(--dark);margin-bottom:8px}
.empty-cart p{font-size:14px;color:var(--gray);margin-bottom:24px;line-height:1.6}
.checkout-screen{min-height:100vh;background:var(--bg);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 90px)}
.checkout-header{padding:50px 24px 20px;background:var(--white);display:flex;align-items:center;gap:14px;border-radius:0 0 28px 28px;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.checkout-back{width:44px;height:44px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;color:var(--dark);font-size:18px}
.checkout-title{font-size:20px;font-weight:800;color:var(--dark)}
.checkout-progress{display:flex;align-items:center;justify-content:center;padding:24px;gap:0}
.progress-step{display:flex;align-items:center;gap:8px}
.progress-step .step-num{width:32px;height:32px;border-radius:50%;background:var(--gray-light);color:var(--gray);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:var(--transition)}
.progress-step.active .step-num{background:var(--primary);color:var(--white)}
.progress-step.completed .step-num{background:var(--success);color:var(--white)}
.progress-step .step-label{font-size:12px;color:var(--gray);font-weight:600}
.progress-step.active .step-label{color:var(--primary)}
.progress-step.completed .step-label{color:var(--success)}
.progress-line{width:40px;height:2px;background:var(--gray-light);margin:0 8px;transition:var(--transition)}
.progress-line.active{background:var(--primary)}
.checkout-section{padding:0 24px;margin-bottom:95px}
.checkout-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.checkout-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.checkout-card-title{font-size:15px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:8px}
.checkout-card-title i{color:var(--primary);font-size:16px}
.checkout-card-edit{font-size:12px;color:var(--primary);font-weight:600;cursor:pointer}
.delivery-options{display:flex;gap:10px}
.delivery-option{flex:1;padding:14px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-align:center;background:var(--white)}
.delivery-option.active{border-color:var(--primary);background:#FFF5F3}
.delivery-option i{font-size:20px;color:var(--gray);margin-bottom:8px;display:block;transition:var(--transition)}
.delivery-option.active i{color:var(--primary)}
.delivery-option .delivery-name{font-size:13px;font-weight:700;color:var(--dark);display:block;margin-bottom:4px}
.delivery-option .delivery-time{font-size:11px;color:var(--gray)}
.delivery-option.active .delivery-name{color:var(--primary)}
.payment-methods{display:flex;flex-direction:column;gap:10px}
.payment-method{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:var(--white)}
.payment-method.active{border-color:var(--primary);background:#FFF5F3}
.payment-method .payment-radio{width:20px;height:20px;border:2px solid var(--gray-medium);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}
.payment-method.active .payment-radio{border-color:var(--primary)}
.payment-method.active .payment-radio::after{content:'';width:10px;height:10px;background:var(--primary);border-radius:50%}
.payment-method .payment-icon{width:36px;height:36px;background:var(--gray-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--dark);font-size:16px}
.payment-method .payment-info{flex:1}
.payment-method .payment-name{font-size:13px;font-weight:700;color:var(--dark)}
.payment-method .payment-desc{font-size:11px;color:var(--gray)}
.order-items-mini{display:flex;flex-direction:column;gap:10px}
.order-item-mini{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-light)}
.order-item-mini:last-child{border-bottom:none}
.order-item-mini-image{width:44px;height:44px;background:var(--gray-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.order-item-mini-info{flex:1}
.order-item-mini-name{font-size:13px;font-weight:600;color:var(--dark)}
.order-item-mini-qty{font-size:11px;color:var(--gray)}
.order-item-mini-price{font-size:13px;font-weight:700;color:var(--dark)}
.success-screen{min-height:100vh;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}
.success-icon{width:120px;height:120px;background:linear-gradient(135deg,#E8F5E9,#C8E6C9);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:30px;animation:bounceIn .6s ease}
@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}
.success-icon i{font-size:48px;color:var(--success)}
.success-title{font-size:24px;font-weight:800;color:var(--dark);margin-bottom:8px}
.success-desc{font-size:14px;color:var(--gray);line-height:1.8;margin-bottom:30px;max-width:300px}
.order-id{background:var(--gray-light);padding:12px 24px;border-radius:var(--radius-sm);margin-bottom:40px}
.order-id .label{font-size:12px;color:var(--gray);display:block;margin-bottom:4px}
.order-id .value{font-size:18px;font-weight:800;color:var(--dark);letter-spacing:1px}
.tracking-info{width:100%;max-width:340px;margin-bottom:30px}
.tracking-progress{display:flex;align-items:center;justify-content:space-between;position:relative;padding:0 20px;margin-bottom:24px}
.tracking-progress::before{content:'';position:absolute;top:50%;left:40px;right:40px;height:3px;background:var(--gray-light);transform:translateY(-50%);z-index:1}
.tracking-progress::after{content:'';position:absolute;top:50%;right:40px;width:60%;height:3px;background:var(--primary);transform:translateY(-50%);z-index:2;border-radius:2px}
.tracking-step{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px}
.tracking-step-icon{width:40px;height:40px;background:var(--white);border:3px solid var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gray)}
.tracking-step.active .tracking-step-icon{border-color:var(--primary);background:var(--primary);color:var(--white)}
.tracking-step.completed .tracking-step-icon{border-color:var(--success);background:var(--success);color:var(--white)}
.tracking-step-label{font-size:11px;color:var(--gray);font-weight:600}
.tracking-step.active .tracking-step-label{color:var(--primary)}
.tracking-eta{text-align:center}
.tracking-eta .time{font-size:28px;font-weight:800;color:var(--primary)}
.tracking-eta .time-label{font-size:13px;color:var(--gray)}
.profile-screen{min-height:100vh;background:var(--bg);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 40px)}
.profile-header{padding:50px 24px 30px;background:var(--white);border-radius:0 0 28px 28px;box-shadow:0 4px 20px rgba(0,0,0,.05);text-align:center}
.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--white);font-size:28px;font-weight:700;position:relative}
.profile-avatar .edit-avatar{position:absolute;bottom:0;left:0;width:28px;height:28px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--primary);box-shadow:var(--shadow);cursor:pointer}
.profile-name{font-size:20px;font-weight:800;color:var(--dark);margin-bottom:4px}
.profile-email{font-size:13px;color:var(--gray)}
.profile-stats{display:flex;justify-content:center;gap:30px;margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-light)}
.profile-stat{text-align:center}
.profile-stat .stat-value{font-size:20px;font-weight:800;color:var(--dark)}
.profile-stat .stat-label{font-size:12px;color:var(--gray)}
.profile-menu{padding:20px 24px}
.profile-menu-section{margin-bottom:24px}
.profile-menu-section-title{font-size:13px;font-weight:700;color:var(--gray);margin-bottom:12px;padding-right:8px}
.profile-menu-list{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.profile-menu-item{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--gray-light)}
.profile-menu-item:last-child{border-bottom:none}
.profile-menu-item:hover{background:var(--gray-light)}
.profile-menu-icon{width:40px;height:40px;background:#FFF5F3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:16px;flex-shrink:0}
.profile-menu-text{flex:1}
.profile-menu-text .menu-label{font-size:14px;font-weight:600;color:var(--dark)}
.profile-menu-text .menu-desc{font-size:11px;color:var(--gray)}
.profile-menu-arrow{color:var(--gray-medium);font-size:14px;transform:rotate(180deg)}
.profile-menu-item.danger .profile-menu-icon{background:#FFE8E8;color:var(--danger)}
.profile-menu-item.danger .menu-label{color:var(--danger)}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;height:calc(var(--nav-height) + var(--safe-bottom));background:var(--white);border-top:1px solid var(--gray-light);display:flex;align-items:center;justify-content:space-around;padding:0 0 var(--safe-bottom);z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.05)}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;cursor:pointer;transition:var(--transition);position:relative;background:none;border:none;font-family:'Vazir',sans-serif;flex:1;height:100%;justify-content:center}
.nav-item i{font-size:20px;color:var(--gray);transition:var(--transition)}
.nav-item span{font-size:10px;color:var(--gray);font-weight:600;transition:var(--transition)}
.nav-item.active i{color:var(--primary)}
.nav-item.active span{color:var(--primary)}
.nav-cart-center{position:relative;flex:1}
.nav-cart-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;color:var(--white);position:absolute;top:-8px;left:50%;transform:translateX(-50%);box-shadow:0 6px 20px rgba(183,28,28,.4);border:4px solid var(--white);transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:cartPulse 3s ease-in-out infinite;z-index:2}
.nav-cart-circle i{font-size:24px;color:var(--white)}
.nav-cart-center.active .nav-cart-circle{background:linear-gradient(135deg,var(--primary-light),var(--secondary))}
.nav-cart-circle.bump{animation:cartBump .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes cartPulse{0%,100%{box-shadow:0 6px 20px rgba(183,28,28,.4),0 0 0 0 rgba(183,28,28,.4)}50%{box-shadow:0 6px 20px rgba(183,28,28,.4),0 0 0 12px rgba(183,28,28,0)}}
@keyframes cartBump{0%{transform:translateX(-50%) scale(1)}30%{transform:translateX(-50%) scale(1.25)}50%{transform:translateX(-50%) scale(.95)}70%{transform:translateX(-50%) scale(1.1)}100%{transform:translateX(-50%) scale(1)}}
.nav-cart-badge{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;padding:0 6px;background:var(--secondary);color:var(--white);font-size:11px;font-weight:800;border-radius:11px;display:flex;align-items:center;justify-content:center;border:2px solid var(--white);transition:all .3s ease}
.nav-cart-badge.hidden{transform:scale(0);opacity:0}
.nav-cart-label{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;color:var(--gray);transition:var(--transition);white-space:nowrap}
.nav-cart-center.active .nav-cart-label{color:var(--primary)}
.toast{position:fixed;top:60px;left:50%;transform:translateX(-50%) translateY(-100px);background:var(--dark);color:var(--white);padding:14px 24px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;z-index:9999;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);max-width:380px;width:calc(100% - 48px)}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.success{background:var(--success)}
.toast.error{background:var(--danger)}
.toast.warning{background:var(--warning)}
.toast i{font-size:18px}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:5000;display:none;align-items:flex-end;justify-content:center}
.modal-overlay.show{display:flex;animation:fadeIn .3s ease}
.modal-content{width:100%;max-width:430px;background:var(--white);border-radius:28px 28px 0 0;padding:24px;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.modal-handle{width:40px;height:4px;background:var(--gray-medium);border-radius:2px;margin:0 auto 20px}
.modal-title{font-size:18px;font-weight:800;color:var(--dark);text-align:center;margin-bottom:8px}
.modal-desc{font-size:14px;color:var(--gray);text-align:center;margin-bottom:24px;line-height:1.6}
.modal-actions{display:flex;gap:12px}
.tab-switcher{display:flex;background:var(--gray-light);border-radius:var(--radius-sm);padding:4px;margin:0 24px 20px}
.tab-item{flex:1;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--gray);border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition)}
.tab-item.active{background:var(--white);color:var(--dark);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.order-history-item{margin:0 24px 12px;padding:16px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}
.order-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.order-history-id{font-size:14px;font-weight:700;color:var(--dark)}
.order-history-status{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700}
.order-history-status.delivered{background:#E8F5E9;color:var(--success)}
.order-history-status.preparing{background:#FFF3E0;color:var(--warning)}
.order-history-status.ontheway{background:#E3F2FD;color:#1976D2}
.order-history-date{font-size:12px;color:var(--gray);margin-bottom:12px}
.order-history-items{display:flex;gap:-8px;margin-bottom:12px}
.order-history-items .item-img{width:36px;height:36px;background:var(--gray-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;border:2px solid var(--white);margin-left:-8px}
.order-history-footer{display:flex;justify-content:space-between;align-items:center}
.order-history-total{font-size:15px;font-weight:800;color:var(--primary)}
.order-history-reorder{padding:8px 16px;background:var(--primary);color:var(--white);border:none;border-radius:var(--radius-xs);font-family:'Vazir',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition)}
.order-history-reorder:hover{background:var(--primary-dark)}
::-webkit-scrollbar{width:0;height:0}
@media (max-width:430px){.app-container{box-shadow:none}}
.pizza-card-image img,.popular-item-image img,.cart-item-image img,.order-item-mini-image img,.detail-image-bg img{width:100%;height:100%;object-fit:cover;display:block}
.pizza-card-image,.popular-item-image,.cart-item-image,.order-item-mini-image{overflow:hidden;position:relative}
.pizza-card-image img,.popular-item-image img,.cart-item-image img{border-radius:inherit;transition:transform .3s ease}
.pizza-card:hover .pizza-card-image img{transform:scale(1.05)}
.order-item-mini-image img{border-radius:10px}
.login-btn{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white)!important}
.login-btn:hover{background:var(--primary-dark)}
textarea{font-family:'Vazir',sans-serif;color:var(--dark)}
textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(183,28,28,.1)}
.map-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:5000;display:none;align-items:center;justify-content:center;padding:16px}
.map-modal.show{display:flex!important}
.map-modal-content{width:100%;max-width:430px;height:90vh;max-height:700px;background:var(--white);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-light);background:var(--white);flex-shrink:0}
.map-modal-title{font-size:15px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:8px}
.map-modal-title i{color:var(--primary)}
.map-modal-close{width:36px;height:36px;border:none;background:var(--gray-light);border-radius:50%;color:var(--dark);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--transition)}
.map-modal-close:hover{background:var(--danger);color:var(--white)}
.map-search-bar{display:flex;gap:8px;padding:12px 16px;background:var(--white);border-bottom:1px solid var(--gray-light);flex-shrink:0}
.map-search-bar input{flex:1;padding:12px 16px;border:2px solid var(--gray-light);border-radius:var(--radius-xs);font-family:'Vazir',sans-serif;font-size:13px;direction:rtl;transition:var(--transition)}
.map-search-bar input:focus{outline:none;border-color:var(--primary)}
.map-search-bar button{width:44px;height:44px;background:var(--primary);border:none;border-radius:var(--radius-xs);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--transition)}
.map-search-bar button:hover{background:var(--primary-dark)}
#map-container{flex:1;width:100%;min-height:300px;background:var(--gray-light);position:relative;z-index:1}
.map-actions{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--gray-light);background:var(--white);flex-shrink:0}
.map-action-btn{flex:1;padding:14px;border:none;border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:var(--transition)}
.map-locate-btn{background:var(--gray-light);color:var(--dark)}
.map-locate-btn:hover{background:var(--gray-medium)}
.map-confirm-btn{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);box-shadow:0 4px 12px rgba(183,28,28,.3)}
.map-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(183,28,28,.4)}
.map-address-preview{padding:12px 20px;background:#FFF5F3;border-top:1px solid var(--gray-light);font-size:12px;color:var(--dark);display:flex;align-items:flex-start;gap:8px;line-height:1.6;max-height:80px;overflow-y:auto;flex-shrink:0}
.map-address-preview i{flex-shrink:0;margin-top:3px;font-size:14px}
.address-picker-wrap{position:relative}
.address-picker-wrap textarea{width:100%;padding:12px 16px;border:2px solid var(--gray-light);border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:13px;color:var(--dark);resize:none;min-height:60px;max-height:100px;direction:rtl;transition:var(--transition);line-height:1.6}
.address-picker-wrap textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(183,28,28,.1)}
.address-map-btn{margin-top:8px;width:100%;padding:10px 16px;background:#FFF5F3;border:2px dashed var(--primary);border-radius:var(--radius-sm);font-family:'Vazir',sans-serif;font-size:12px;font-weight:700;color:var(--primary);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:6px}
.address-map-btn:hover{background:#FFE8E3}
.leaflet-container{font-family:'Vazir',sans-serif;direction:ltr}
.leaflet-control-attribution{font-size:9px!important}