.delivery-home{min-height:100vh;background:#fff}@media (max-width:768px){.delivery-home{padding-bottom:calc(90px + env(safe-area-inset-bottom, 0px))}}.location-picker-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.location-picker-card{background:#fff;border-radius:24px;padding:3rem;max-width:500px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.location-picker-header{text-align:center;margin-bottom:2rem}.location-icon{color:#0057ff;margin-bottom:1rem}.location-picker-header h1{font-size:1.75rem;font-weight:700;color:#000;margin-bottom:.5rem}.location-picker-header p{color:#444;font-size:1rem}.location-picker-body{display:flex;flex-direction:column;gap:1.5rem}.current-location-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;background:#0057ff;color:#fff;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.current-location-btn:hover{background:#003bb5;transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,87,255,.15)}.current-location-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;text-align:center;color:#444;margin:.5rem 0}.divider:after,.divider:before{content:"";flex:1;border-bottom:1px solid #e2e8f0}.divider span{padding:0 1rem;font-size:.875rem}.manual-location-input{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;align-items:center;gap:.75rem;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:border-color .3s ease}.input-group:focus-within{border-color:#0057ff}.input-group svg{color:#444;flex-shrink:0}.input-group input{flex:1;border:none;outline:none;font-size:1rem;color:#000}.input-group input::placeholder{color:#ccc}.confirm-location-btn{background:#007a33;color:#fff;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-location-btn:hover{background:#007a33;transform:translateY(-2px);box-shadow:0 8px 16px rgba(72,187,120,.3)}.confirm-location-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.delivery-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 8px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}.location-display{display:flex;align-items:center;gap:.75rem;cursor:pointer;max-width:600px;transition:opacity .2s ease}.location-display:hover{opacity:.7}.location-display svg{color:#0057ff;flex-shrink:0}.location-info{display:flex;flex-direction:column;overflow:hidden}.location-label{font-size:.75rem;color:#444;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.location-address{font-size:.95rem;font-weight:600;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-tabs{display:flex;gap:.5rem;padding:1.5rem 2rem;background:#fff;overflow-x:auto;scrollbar-width:none}.delivery-tabs::-webkit-scrollbar{display:none}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:12px;font-size:.95rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .3s ease;white-space:nowrap}.tab-btn,.tab-btn:hover{background:#f2f2f2}.tab-btn.active{background:#0057ff;color:#fff;border-color:#0057ff}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:2rem;background:#f2f2f2;min-height:60vh}.service-card{background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.service-image{position:relative;width:100%;height:200px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.service-card:hover .service-image img{transform:scale(1.05)}.service-type-badge{position:absolute;top:.75rem;right:.75rem;background:#fff;border-radius:8px;padding:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center}.service-type-badge svg{color:#0057ff}.service-info{padding:1.25rem}.service-info h3{font-size:1.1rem;font-weight:700;color:#000;margin-bottom:.75rem}.service-meta{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.875rem;color:#444}.service-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.category-tag{background:#f2f2f2;color:#4a5568;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}.delivery-fee{font-size:.95rem;font-weight:600;color:#007a33;margin-top:.5rem}.ride-section{background:#f2f2f2;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.ride-banner{background:#fff;border-radius:24px;padding:4rem 3rem;text-align:center;max-width:500px;box-shadow:0 8px 24px rgba(0,0,0,.1)}.ride-banner svg{color:#0057ff;margin-bottom:1.5rem}.ride-banner h2{font-size:2rem;font-weight:700;color:#000;margin-bottom:.75rem}.ride-banner p{color:#444;font-size:1.1rem;margin-bottom:2rem}.request-ride-btn{background:#0057ff;color:#fff;border:none;border-radius:12px;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.request-ride-btn:hover{background:#003bb5;transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,87,255,.15)}.empty-state,.loading-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0057ff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(1turn)}}.empty-state p,.loading-state p{color:#444;font-size:1.1rem;margin-top:1rem}.empty-state svg{color:#ccc;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:700;color:#000;margin-bottom:.5rem}@media (max-width:768px){.location-picker-card{padding:2rem}.services-grid{grid-template-columns:1fr;padding:1rem}.ride-banner{padding:1.75rem 1.25rem;max-width:100%;margin:0 .75rem;border-radius:18px}.ride-section{min-height:auto;padding:1rem 0 1.5rem;align-items:stretch}.ride-banner svg{width:48px;height:48px;margin-bottom:1rem}.ride-banner h2{font-size:1.35rem;line-height:1.3}.ride-banner p{font-size:.95rem;margin-bottom:1.25rem}.request-ride-btn{width:100%;max-width:100%;padding:.95rem 1.25rem;font-size:1rem;min-height:48px;border-radius:14px}.tab-btn{padding:.65rem 1rem;font-size:.85rem}.delivery-tabs{padding:1rem;gap:.4rem}}