.zomato-location-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:flex-end;padding:0 16px 20px;box-sizing:border-box}.zomato-location-modal{background:white;width:100%;height:calc(100vh - 40px);max-height:90vh;border-radius:16px;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:slideUp .3s ease-out;overflow:hidden;padding:20px;box-sizing:border-box}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.zomato-modal-header{display:flex;align-items:center;padding:16px 0;border-bottom:1px solid #eee;background:white;border-radius:16px 16px 0 0}.back-button{background:none;border:none;padding:8px;margin-right:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;border-radius:50%;transition:background-color .2s}.back-button:hover{background-color:#f5f5f5}.close-button{background:none;border:none;padding:8px;margin-left:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;border-radius:50%;transition:all .2s}.close-button:hover{background-color:#f5f5f5;color:#333;transform:scale(1.1)}.zomato-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#333;flex:1}.restaurant-location-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;display:flex;align-items:center;gap:12px;margin:0 -20px;padding:16px 20px}.restaurant-icon{font-size:24px;background:#ff6b35;color:white;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.restaurant-details{flex:1}.restaurant-name{font-size:11px;font-weight:600;color:#333;margin-bottom:2px;line-height:1.2}.delivery-radius{font-size:11px;color:#666;font-weight:400}.search-section{padding:16px 0;background:white;border-bottom:1px solid #eee;position:relative}.search-input-container{position:relative;display:flex;align-items:center;background:#f8f9fa;border-radius:12px;padding:12px 16px;border:1px solid #e9ecef}.current-location-btn-inline{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;color:#ff4444;flex-shrink:0;margin-left:8px;padding:6px}.current-location-btn-inline:hover:not(:disabled){background:rgba(255,68,68,.1);color:#ff2222;transform:scale(1.1)}.current-location-btn-inline:active{transform:scale(.9)}.current-location-btn-inline:disabled{opacity:.6;cursor:not-allowed}.location-target-icon{color:inherit}.search-icon{color:#6c757d;margin-right:12px;flex-shrink:0}.search-input{border:none;background:none;outline:none;width:100%;font-size:16px;color:#333}.search-input::placeholder{color:#9ca3af}.search-loading{margin-left:8px}.spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top-color:#007bff;border-radius:50%}.spinner,.spinner-small{animation:spin 1s linear infinite}.spinner-small{width:16px;height:16px;border:2px solid #f3f3f3;border-top-color:#28a745;border-radius:50%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.search-results{position:absolute;top:100%;left:20px;right:20px;background:white;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.15);z-index:1000;max-height:300px;overflow-y:auto}.search-result-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f1f1;transition:all .2s ease;position:relative}.search-result-item:hover{background-color:#f8f9fa;transform:translateX(2px)}.search-result-item.high-priority{background-color:#f0fff4;border-left:3px solid #28a745}.search-result-item:last-child{border-bottom:none}.result-icon-container{display:flex;flex-direction:column;align-items:center;margin-right:12px;min-width:50px}.result-icon{font-size:18px;margin-bottom:2px}.result-type{font-size:9px;color:#6c757d;text-align:center;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.result-text{flex:1;min-width:0}.result-main{font-weight:600;color:#333;margin-bottom:3px;font-size:15px;line-height:1.3}.result-secondary{font-size:13px;color:#6c757d;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-badge{background:linear-gradient(45deg,#28a745,#20c997);color:white;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(40,167,69,.7)}70%{box-shadow:0 0 0 6px rgba(40,167,69,0)}to{box-shadow:0 0 0 0 rgba(40,167,69,0)}}.badge-text{font-size:9px}.popular-section{border-bottom:1px solid #e9ecef;margin-bottom:8px}.popular-header{padding:12px 16px 8px;font-weight:600;color:#333;font-size:14px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.popular-locality{background:#fff9f0;border-left:3px solid #ff6b35}.popular-locality:hover{background:#fff3e6}.popular-badge{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:white;font-size:11px;padding:2px 6px;border-radius:8px;font-weight:600}.search-tips{padding:16px;background:#f8f9fa;border-top:1px solid #e9ecef;margin-top:8px}.tips-header{font-size:13px;font-weight:600;color:#495057;margin-bottom:8px}.tips-list{font-size:12px;color:#6c757d;line-height:1.4;white-space:pre-line}.map-container{flex:1;position:relative;background:#f5f5f5}.map{width:100%;height:100%}.map-instruction{top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);padding:8px 16px;border-radius:20px}.current-location-btn,.map-instruction{position:absolute;color:white;font-size:14px;font-weight:500;z-index:100}.current-location-btn{bottom:140px;right:20px;background:#28a745;border:none;padding:12px 16px;border-radius:25px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 12px rgba(40,167,69,.3);transition:all .2s}.current-location-btn:hover{background:#218838;transform:translateY(-1px)}.current-location-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.btn-loading{display:flex;align-items:center}.address-status-section{background:white;border-top:1px solid #eee;flex-shrink:0}.selected-address-compact{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid #e0e0e0;background:#fafafa;margin:10px 0;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.selected-address-compact .location-icon{font-size:18px;color:#ff6b35;flex-shrink:0}.address-text{font-size:14px;color:#333;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.delivery-details{background:white;padding:20px;border-top:1px solid #eee}.selected-location{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.location-icon{font-size:20px;color:#28a745;margin-top:2px}.location-info{flex:1}.location-name{font-size:16px;font-weight:600;color:#333;margin-bottom:4px}.location-full{font-size:14px;color:#6c757d;line-height:1.4}.delivery-status{padding:16px 20px;font-size:14px;font-weight:500;margin:10px 0;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease;border-radius:12px}.delivery-status.loading{background:linear-gradient(135deg,#fff8e1,#fffbf0);color:#f57c00;border:1px solid #ffcc02;display:flex;align-items:center;gap:12px}.delivery-status.available{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);color:#2e7d32;border:1px solid #4caf50}.delivery-status.unavailable{background:linear-gradient(135deg,#ffebee,#fef7f7);color:#d32f2f;border:1px solid #f44336;position:relative}.status-message{margin-bottom:0;font-weight:600;line-height:1.4;display:flex;align-items:center;gap:8px}.delivery-status.unavailable .status-message:before{content:"⚠️";font-size:16px}.delivery-status.available .status-message:before{content:"✅";font-size:16px}.delivery-status.loading .status-message:before{content:"🔄";font-size:16px;animation:spin 2s linear infinite}.delivery-info-items{display:flex;gap:20px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(46,125,50,.2)}.detail-item{display:flex;align-items:center;gap:6px;font-size:13px;background:rgba(255,255,255,.7);padding:6px 10px;border-radius:20px;border:1px solid rgba(46,125,50,.3)}.detail-icon{font-size:14px}.detail-text{color:#2e7d32;font-weight:600}.delivery-status.loading{position:relative}.delivery-status.loading:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#f57c00 50%,transparent);animation:loadingBar 2s ease-in-out infinite;border-radius:12px 12px 0 0}@keyframes loadingBar{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.modal-actions{padding:16px 0 0;background:white;border-top:1px solid #eee}.save-address-btn{width:100%;background:#28a745;color:white;border:none;padding:16px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.save-address-btn:hover:not(:disabled){background:#218838}.save-address-btn:disabled{background:#6c757d;cursor:not-allowed}@media (min-width:768px){.zomato-location-modal-overlay{align-items:center;justify-content:center}.zomato-location-modal{width:90%;max-width:900px;height:80vh;border-radius:16px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.zomato-modal-header{border-radius:16px 16px 0 0}.current-location-btn{bottom:160px}}.address-details-section{background:white;padding:20px;border-top:1px solid #eee}.address-details-title{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.address-input-group{margin-bottom:16px}.address-input-label{display:block;font-size:14px;font-weight:500;color:#555;margin-bottom:6px}.address-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;transition:border-color .2s}.address-input:focus{border-color:#28a745}@media (max-width:768px){.zomato-location-modal-overlay{padding:0 12px 16px}.zomato-location-modal{height:calc(100vh - 32px);max-height:95vh;border-radius:12px;padding:16px}}@media (max-width:480px){.zomato-location-modal-overlay{padding:0 8px max(12px,env(safe-area-inset-bottom))}.zomato-location-modal{height:calc(100vh - 24px);height:calc(100vh - 24px - env(safe-area-inset-bottom));border-radius:8px;padding:12px}}@supports (padding:env(safe-area-inset-bottom)){.zomato-location-modal-overlay{padding-bottom:max(20px,env(safe-area-inset-bottom))}.zomato-location-modal{height:calc(100vh - 40px - env(safe-area-inset-bottom))}@media (max-width:768px){.zomato-location-modal-overlay{padding-bottom:max(16px,env(safe-area-inset-bottom))}.zomato-location-modal{height:calc(100vh - 32px - env(safe-area-inset-bottom))}}}.address-input::placeholder{color:#999}