@import url("https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap");:root{--primary:#ffa42d;--primary-light:#fffbef;--primary-dark:#d89d1d;--accent:#f59e0b;--accent-light:#fffbeb;--success:#10b981;--success-light:#ecfdf5;--danger:#ef4444;--danger-light:#fef2f2;--text-primary:#2a250f;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#f0e8e2;--border-focus:#fdcf93;--bg:#ffffff;--surface:#ffffff;--surface-hover:#f9f5f1;--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);--shadow-lg:0 20px 60px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.06);--shadow-xl:0 32px 80px rgba(0,0,0,.16);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.35s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}.empty-cart-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.empty-cart-box{background:var(--surface);border-radius:var(--radius-xl);padding:64px 48px;text-align:center;max-width:420px;width:100%;box-shadow:var(--shadow-md);border:1px solid var(--border)}@media (max-width:480px){.empty-cart-box{padding:40px 24px}}.empty-cart-box h2{font-family:Sora,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.empty-cart-box p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:32px}.go-home-btn{background:var(--primary);color:#fff;border:none;padding:14px 36px;border-radius:var(--radius-full);font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px rgba(37,99,235,.3)}.go-home-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,99,235,.35)}.cart-container{min-height:100vh;background:var(--bg);padding:32px 24px;max-width:1280px;margin:0 auto;font-family:DM Sans,sans-serif}@media (max-width:768px){.cart-container{padding:16px 12px}}@media (max-width:480px){.cart-container{padding:12px 10px}}.cart-wrapper{display:grid;grid-template-columns:1fr 380px;grid-gap:28px;gap:28px;align-items:start}@media (max-width:1024px){.cart-wrapper{grid-template-columns:1fr 320px;gap:20px}}@media (max-width:900px){.cart-wrapper{grid-template-columns:1fr;gap:16px}}.title{font-family:Sora,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;letter-spacing:-.02em}@media (max-width:480px){.title{font-size:1.25rem;margin-bottom:14px}}.cart-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm)}.cart-item{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border);transition:background var(--transition);flex-wrap:wrap}@media (max-width:600px){.cart-item{padding:14px;gap:10px}}@media (max-width:480px){.cart-item{padding:12px;gap:8px}}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:var(--surface-hover)}.item-left{display:flex;align-items:center;gap:14px;flex:1 1;min-width:0}@media (max-width:480px){.item-left{gap:10px}}.item-img{width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;background:var(--primary-light);flex-shrink:0;display:flex;align-items:center;justify-content:center}@media (max-width:480px){.item-img{width:44px;height:44px;border-radius:var(--radius-sm)}}.item-img img{width:100%;height:100%;object-fit:cover}.item-info{min-width:0;flex:1 1}.service-name{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:480px){.service-name{font-size:.85rem}}.item-price{font-family:Sora,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin-left:auto;flex-shrink:0}@media (max-width:480px){.item-price{font-size:.9rem}}.qty-box-cart-item{display:flex;align-items:center;margin-top:8px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;width:-moz-fit-content;width:fit-content}.qty-box-cart-item button{width:30px;height:28px;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--primary);transition:background var(--transition);display:flex;align-items:center;justify-content:center}.qty-box-cart-item button:hover{background:var(--primary-light)}.qty-box-cart-item span{padding:0 10px;font-size:.85rem;font-weight:600;color:var(--text-primary);min-width:28px;text-align:center;border-left:1px solid var(--border);border-right:1px solid var(--border)}.slot-btn{background:var(--primary-light);color:var(--primary);border:1.5px solid var(--border-focus);padding:8px 16px;border-radius:var(--radius-full);font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}@media (max-width:600px){.slot-btn{padding:7px 12px;font-size:.75rem}}@media (max-width:480px){.slot-btn{padding:6px 10px;font-size:.72rem;width:100%;text-align:center;order:3}}.slot-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.slot-btn.slot-locked{border-color:#86efac}.slot-btn.slot-locked,.slot-locked-badge{background:var(--success-light);color:var(--success)}.slot-locked-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);margin-top:4px;border:1px solid #86efac}.view-item{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border);padding:8px 16px;border-radius:var(--radius-full);font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}@media (max-width:600px){.view-item{padding:7px 12px;font-size:.75rem}}@media (max-width:480px){.view-item{padding:6px 10px;font-size:.72rem;width:100%;text-align:center;order:4}}.view-item:hover{border-color:var(--primary);color:var(--primary)}.pay-btn-row{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap}@media (max-width:480px){.pay-btn-row{gap:10px;margin-top:16px;flex-direction:column}}.pay-btn{flex:1 1;padding:15px 24px;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;min-width:140px}@media (max-width:480px){.pay-btn{padding:14px 20px;font-size:.9rem;min-width:unset;width:100%}}.pay-btn:first-child{background:var(--primary);color:#fff;box-shadow:0 4px 16px rgba(37,99,235,.3)}.pay-btn:first-child:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,99,235,.35)}.pay-btn:last-child{background:var(--surface);color:var(--primary);border:2px solid var(--primary)}.pay-btn:last-child:hover{background:var(--primary-light)}.right-section{display:flex;flex-direction:column;gap:20px}@media (max-width:900px){.right-section{gap:16px}}.user-details-box{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px;box-shadow:var(--shadow-sm)}@media (max-width:480px){.user-details-box{padding:16px;border-radius:var(--radius-md)}}.user-details-title{font-family:Sora,sans-serif;font-size:.78rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}@media (max-width:480px){.user-details-title{font-size:.72rem;margin-bottom:14px}}.user-detail-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.user-detail-row:last-child{margin-bottom:0}.user-detail-row label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.user-detail-row input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);background:var(--bg);transition:var(--transition);outline:none;width:100%}.user-detail-row input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.summary-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px;box-shadow:var(--shadow-sm)}@media (max-width:480px){.summary-card{padding:16px;border-radius:var(--radius-md)}}.summary-title{font-family:Sora,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:18px}.card-row{display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:6px 0}@media (max-width:480px){.card-row{gap:10px}}.icon-cart{width:36px;height:36px;background:var(--primary-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:.9rem;flex-shrink:0}.card-title{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.card-text{font-size:.9rem;color:var(--text-primary);font-weight:500}@media (max-width:480px){.card-text{font-size:.82rem}}.address-row{display:flex;align-items:center;justify-content:space-between;flex:1 1;gap:10px;min-width:0}.edit-btn{background:var(--primary-light);color:var(--primary);border:none;padding:6px 14px;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);flex-shrink:0}.edit-btn:hover{background:var(--primary);color:#fff}.slot-box{flex:1 1;min-width:0}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.9rem;color:var(--text-secondary);gap:8px}@media (max-width:480px){.summary-row{font-size:.82rem}}.summary-row.bold{font-weight:600;color:var(--text-primary)}.strike{text-decoration:line-through;color:var(--text-muted)}.green{color:var(--success);font-weight:600}.amount-pay-box{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-lg);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:12px}@media (max-width:480px){.amount-pay-box{padding:16px;border-radius:var(--radius-md)}}.amount-pay-box p{font-size:.82rem;opacity:.8;margin-bottom:4px;font-family:DM Sans,sans-serif}.amount-pay-box h3{font-family:Sora,sans-serif;font-size:1.6rem;font-weight:700}@media (max-width:480px){.amount-pay-box h3{font-size:1.3rem}}.view-breakup{font-size:.82rem;font-weight:600;opacity:.75;text-decoration:underline;cursor:pointer;transition:opacity var(--transition);white-space:nowrap}.view-breakup:hover{opacity:1}hr{border:none;border-top:1px solid var(--border);margin:14px 0}.address-popup-overlay,.cart-popup-overlay,.custom-alert-overlay,.locationOverlay,.modalOverlay,.slot-popup-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeOverlay .2s ease}@media (max-width:480px){.cart-popup-overlay,.custom-alert-overlay,.modalOverlay,.slot-popup-overlay{padding:12px}}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid var(--border)}@media (max-width:480px){.popup-header{padding:16px 16px 14px}}.popup-header h2,.popup-header h3{font-family:Sora,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text-primary)}@media (max-width:480px){.popup-header h2,.popup-header h3{font-size:1rem}}.popup-header button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.popup-header button:hover{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.custom-alert-box{background:var(--surface);border-radius:var(--radius-xl);padding:44px 40px;max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-xl);animation:popIn .25s cubic-bezier(.4,0,.2,1)}@media (max-width:480px){.custom-alert-box{padding:28px 20px;border-radius:var(--radius-lg)}}.custom-alert-box p{font-size:.95rem;line-height:1.7;color:var(--text-secondary);margin-bottom:32px;font-family:DM Sans,sans-serif}@media (max-width:480px){.custom-alert-box p{font-size:.88rem;margin-bottom:24px}}.custom-alert-box p span{color:var(--primary);font-weight:700}.alert-btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (max-width:380px){.alert-btn-row{flex-direction:column}.alert-btn-row button{width:100%}}.alert-btn-row button:first-child{background:var(--primary);color:#fff;border:none;padding:12px 36px;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 14px rgba(37,99,235,.3)}.alert-btn-row button:first-child:hover{background:var(--primary-dark);transform:translateY(-1px)}.alert-close-btn{background:var(--bg)!important;color:var(--text-secondary)!important;border:1.5px solid var(--border)!important;padding:12px 28px;border-radius:var(--radius-full)!important;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition)!important;box-shadow:none!important}.alert-close-btn:hover{border-color:var(--primary)!important;color:var(--primary)!important}.cart-popup{background:var(--surface);border-radius:var(--radius-xl);max-width:520px;width:100%;max-height:82vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:popIn .25s cubic-bezier(.4,0,.2,1)}@media (max-width:600px){.cart-popup{max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:fixed;bottom:0;left:0;right:0;margin:0}.cart-popup-overlay{align-items:flex-end;padding:0}}.cart-popup .cart-card{border:none;border-radius:0;box-shadow:none}.item-right{display:flex;align-items:center;gap:14px}.delete-icon{color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:var(--transition);flex-shrink:0}.delete-icon:hover{color:var(--danger)}.slot-popup{background:var(--surface);border-radius:var(--radius-xl);max-width:540px;overflow-y:auto;height:auto;max-height:88vh;width:100%;box-shadow:var(--shadow-xl);animation:popIn .25s cubic-bezier(.4,0,.2,1)}@media (max-width:600px){.slot-popup{max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:fixed;bottom:0;left:0;right:0}.slot-popup-overlay{align-items:flex-end;padding:0}}.select-date,.select-time{font-family:Sora,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:18px 24px 10px}@media (max-width:480px){.select-date,.select-time{padding:14px 16px 8px}}.date-list{padding:0 24px 18px}@media (max-width:480px){.date-list{padding:0 16px 14px;gap:6px}}.date-list button{padding:9px 18px;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--bg);font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.date-list button.active,.date-list button:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 3px 10px rgba(37,99,235,.25)}.time-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px;padding:0 24px 22px}@media (max-width:480px){.time-list{grid-template-columns:repeat(2,1fr);padding:0 16px 18px;gap:8px}}.time-list p{grid-column:1/-1;color:var(--text-muted);font-size:.88rem;padding:20px 0}.time-list button,.time-list p{text-align:center;font-family:DM Sans,sans-serif}.time-list button{padding:11px 8px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.time-list button.active{background:var(--primary-light)}.time-list button.active,.time-list button:hover{border-color:var(--primary);color:var(--primary)}.confirm-slot-btn{display:block;width:calc(100% - 48px);margin:0 24px 24px;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px rgba(37,99,235,.3)}@media (max-width:480px){.confirm-slot-btn{width:calc(100% - 32px);margin:0 16px 20px}}.confirm-slot-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 24px rgba(37,99,235,.35)}.confirm-slot-btn:disabled{opacity:.4;cursor:not-allowed}.locationOverlay{align-items:center;justify-content:center;padding:0}.locationModal{background:var(--surface);width:50%;height:auto;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideFromLeft .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@media (max-width:900px){.locationModal{width:70%}}@media (max-width:600px){.locationModal{width:100%}}@keyframes slideFromLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}.locationHeader{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:2}@media (max-width:480px){.locationHeader{padding:14px 14px 12px;gap:8px}}.backIcon,.closePopupIcon{color:var(--text-secondary);font-size:1rem;cursor:pointer;flex-shrink:0;transition:color var(--transition);padding:4px}.backIcon:hover{color:var(--primary)}.closePopupIcon:hover{color:var(--danger)}.locationSearchInput{flex:1 1;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);background:var(--bg);outline:none;transition:var(--transition);min-width:0}.locationSearchInput:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.useCurrentLocation{display:flex;align-items:center;gap:12px;padding:18px 20px;color:var(--primary);cursor:pointer;transition:background var(--transition);font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600}.useCurrentLocation:hover{background:var(--primary-light)}.useCurrentLocation svg{font-size:1rem}.locationDivider{height:1px;background:var(--border);margin:0 20px}.savedAddressSection{padding:18px 20px;flex:1 1}@media (max-width:480px){.savedAddressSection{padding:14px}}.sectionTitle{font-family:Sora,sans-serif;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin-bottom:12px}.savedCard{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:1.5px solid transparent;margin-bottom:8px}.savedCard:hover{background:var(--primary-light);border-color:var(--border-focus)}.addrIcon{color:var(--primary);font-size:.9rem;margin-top:2px;flex-shrink:0}.addrLabel{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:3px}.addrText{font-size:.82rem;color:var(--text-secondary);line-height:1.4}.viewMore{color:var(--primary);font-size:.85rem;font-weight:600;cursor:pointer;padding:10px 0;text-align:center;display:block}.viewMore:hover{text-decoration:underline}.addressList{display:none;flex-direction:column;padding:0 20px}.addressList.show{display:flex}@media (max-width:480px){.addressList{padding:0 14px}}.addressItem{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:color var(--transition);font-size:.88rem;color:var(--text-secondary);font-family:DM Sans,sans-serif}.addressItem:hover{color:var(--primary)}.addressItem:last-child{border-bottom:none}.poweredBy{padding:16px 20px;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-top:auto;font-family:DM Sans,sans-serif}.google-logo{display:inline-flex}.g1{color:#4285F4}.g1,.g2{font-weight:700}.g2{color:#EA4335}.g3{color:#FBBC05}.g3,.g4{font-weight:700}.g4{color:#4285F4}.g5{color:#34A853}.g5,.g6{font-weight:700}.g6{color:#EA4335}.address-popup-overlay{align-items:flex-end;padding:0}@media (min-width:640px){.address-popup-overlay{align-items:center;padding:20px}}.address-popup{background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@media (min-width:640px){.address-popup{border-radius:var(--radius-xl);max-height:88vh;animation:popIn .25s cubic-bezier(.4,0,.2,1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.address-layout{padding:20px 24px;display:flex;flex-direction:column;gap:16px}@media (max-width:480px){.address-layout{padding:16px;gap:12px}}.address-form{display:flex;flex-direction:column;gap:12px}.address-form input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);background:var(--bg);outline:none;transition:var(--transition);width:100%}.address-form input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.address-form input::placeholder{color:var(--text-muted)}.address-type{display:flex;gap:8px;flex-wrap:wrap}.address-type button{flex:1 1;min-width:80px;padding:9px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.address-type button.active,.address-type button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);font-size:2.6rem;color:var(--primary);filter:drop-shadow(0 4px 10px rgba(37,99,235,.4));pointer-events:none;z-index:10}.save-btn-wrap{padding:0 24px 24px}@media (max-width:480px){.save-btn-wrap{padding:0 16px 20px}}.save-btn{display:block;width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px rgba(37,99,235,.3)}.save-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 24px rgba(37,99,235,.35)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.modalContent{background:var(--surface);border-radius:var(--radius-xl);max-width:680px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:popIn .25s cubic-bezier(.4,0,.2,1);padding:32px;font-family:DM Sans,sans-serif}@media (max-width:600px){.modalContent{padding:20px 16px;border-radius:var(--radius-lg);max-height:90vh}}@media (max-width:480px){.modalContent{border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:fixed;bottom:0;left:0;right:0;max-height:92vh;padding:16px 14px}.modalOverlay{align-items:flex-end;padding:0}}.modalHeaderRow{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}@media (max-width:480px){.modalHeaderRow{gap:12px;margin-bottom:16px;padding-bottom:14px;flex-direction:column}}.modalHeaderRow h2{font-family:Sora,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}@media (max-width:480px){.modalHeaderRow h2{font-size:1.1rem}}.modalHeaderRow p{font-size:.85rem;color:var(--text-secondary)}.statusBadge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--success-light);color:var(--success);margin-left:8px}.addressSection{margin-bottom:20px}.addressCard{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;font-size:.88rem;color:var(--text-secondary);line-height:1.5}.addressCard h3{font-family:Sora,sans-serif;font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:8px}.servicesSectionBox{margin-bottom:20px}.servicesSectionBox h3{font-family:Sora,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:14px}.serviceTable{width:100%;border-collapse:collapse;font-size:.85rem}@media (max-width:480px){.serviceTable{font-size:.78rem}.serviceTable thead{display:none}.serviceTable tbody tr{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:10px;padding:10px 12px}.serviceTable td{border:none!important;padding:3px 0;display:flex;justify-content:space-between}.serviceTable td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase}}.serviceTable th{background:var(--bg);padding:10px 12px;text-align:left;font-weight:700;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border)}.serviceTable td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.serviceTable tr:last-child td{border-bottom:none}.totalAmount{background:var(--primary-light);border:1.5px solid var(--border-focus);border-radius:var(--radius-md);padding:14px 16px;font-size:.95rem;font-weight:700;color:var(--primary);text-align:right;margin-top:12px;font-family:Sora,sans-serif}.modalActions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}@media (max-width:480px){.modalActions{justify-content:stretch}.modalActions button{flex:1 1;text-align:center}}.submitBtn{background:var(--success);color:#fff;border:none;padding:11px 28px;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px rgba(16,185,129,.25)}.submitBtn:hover{background:#059669;transform:translateY(-1px)}.closeBtn{background:var(--bg);color:var(--text-secondary);border:1.5px solid var(--border);padding:11px 28px;border-radius:var(--radius-full);font-family:Sora,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition)}.closeBtn:hover{border-color:var(--primary);color:var(--primary)}.fullscreen-loader{position:fixed;inset:0;background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999}.loader-box{background:var(--surface);border-radius:var(--radius-xl);padding:48px 60px;text-align:center;box-shadow:var(--shadow-xl)}@media (max-width:480px){.loader-box{padding:32px 40px}}.spinner{width:46px;height:46px;border:3.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(1turn)}}.loader-box p{font-family:Sora,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-secondary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.policy-checkbox-box{background:#fff;border:.5px solid rgba(0,0,0,.1);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;margin-top:16px}@media (max-width:480px){.policy-checkbox-box{padding:14px}}.policy-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.policy-input{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:#1d4ed8;cursor:pointer}.policy-text{font-size:14px;color:#374151;line-height:1.6}@media (max-width:480px){.policy-text{font-size:12px}}.policy-text a{color:#2563eb;font-weight:500;text-decoration:none}.policy-text a:hover{text-decoration:underline}.policy-error{margin-top:8px;font-size:13px;color:#dc2626;background:#fef2f2;padding:6px 10px;border-radius:6px}.savings-section{border:.5px solid #e5e7eb;border-radius:14px;overflow:hidden;margin-bottom:16px;background:#fff;margin-top:10px}.savings-header{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#f9fafb;border-bottom:.5px solid #e5e7eb;flex-wrap:wrap}@media (max-width:480px){.savings-header{padding:11px 12px;gap:8px}}.savings-icon{width:30px;height:30px;background:#f0fdf4;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#16a34a;flex-shrink:0}.savings-title{font-size:13px;font-weight:600;color:#111;margin:0 0 2px}.savings-sub{font-size:11px;color:#9ca3af}.sav-remove-link{margin-left:auto;font-size:11px;font-weight:500;color:#ef4444;background:none;border:none;cursor:pointer;padding:3px 7px;border-radius:6px}.sav-remove-link:hover{background:#fef2f2}.savings-body{padding:13px 16px;display:flex;flex-direction:column;gap:10px}@media (max-width:480px){.savings-body{padding:10px 12px;gap:8px}}.wallet-input-card{border:.5px solid #e5e7eb;border-radius:12px;padding:12px 14px;background:#f9fafb;display:flex;flex-direction:column;gap:10px}.wallet-input-top{display:flex;align-items:center;gap:10px}.wallet-input-ic{width:28px;height:28px;background:#eff6ff;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0}.wallet-input-label{font-size:13px;font-weight:500;color:#111;margin:0 0 2px}.wallet-avail{font-size:11px;color:#6b7280;margin:0}.wallet-amt-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rupee-wrap{position:relative;flex:1 1;min-width:120px}.rupee-sym{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;color:#6b7280;pointer-events:none}.wallet-amt-inp{width:100%;padding:8px 10px 8px 22px;border:.5px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;color:#111;background:#fff;outline:none}.wallet-amt-inp:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.08)}.use-all-btn{font-size:11px;font-weight:500;color:#3b82f6;background:none;border:.5px solid #bfdbfe;border-radius:7px;padding:7px 11px;cursor:pointer;white-space:nowrap}.use-all-btn:hover{background:#eff6ff}.discount-cards-wrap{margin-bottom:12px}.discount-cards-label{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.discount-card-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:border-color .2s,background .2s;background:#fff;gap:8px}@media (max-width:480px){.discount-card-row{padding:10px 12px}}.discount-card-row.selected{border-color:#7c3aed;background:#f5f3ff}.discount-card-left{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.discount-card-badge{background:#7c3aed;color:#fff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap;flex-shrink:0}.discount-card-desc{font-size:13px;font-weight:500;color:#111827;margin:0 0 2px}.discount-card-valid{font-size:11px;color:#9ca3af;margin:0}.savings-promo-wrap{display:flex;flex-direction:column;gap:5px}.savings-promo-row{display:flex;align-items:center;border:.5px dashed #d1d5db;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s}.savings-promo-row:focus-within{border-color:#3b82f6;border-style:solid}.promo-ic{width:36px;display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.savings-promo-inp{flex:1 1;border:none;padding:10px 4px;font-size:13px;font-weight:600;letter-spacing:1.5px;outline:none;background:transparent;color:#111;min-width:0}.savings-promo-inp::placeholder{font-weight:400;letter-spacing:0;color:#9ca3af}.promo-clear-btn{padding:0 12px;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:13px}.promo-clear-btn:hover{color:#ef4444}.savings-promo-err{font-size:11px;color:#ef4444;padding-left:4px}.savings-apply-btn{width:100%;padding:12px;background:#1a73e8;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:6px}.savings-apply-btn:hover:not(:disabled){background:#1557b0}.savings-apply-btn:disabled{background:#b0c4de;cursor:not-allowed}.sav-applied-box{border:.5px solid #bbf7d0;border-radius:14px;background:#f0fdf4;padding:14px 16px;display:flex;flex-direction:column;gap:0}@media (max-width:480px){.sav-applied-box{padding:12px}}.sav-applied-badge{display:flex;align-items:center;gap:7px;margin-bottom:12px}.sav-check-ic{width:20px;height:20px;background:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sav-badge-txt{font-size:13px;font-weight:500;color:#15803d}.sav-divider{height:.5px;background:#d1fae5;margin:10px 0}.sav-section-label{font-size:10px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sav-chip{justify-content:space-between;gap:8px;padding:10px 12px;background:#fff;border:.5px solid #bbf7d0;border-radius:10px;margin-bottom:6px;flex-wrap:wrap}.sav-chip,.sav-chip-left{display:flex;align-items:center}.sav-chip-left{gap:9px;flex:1 1;min-width:0}.sav-chip-ic{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sav-chip-ic.promo{background:#eff6ff;color:#3b82f6}.sav-chip-ic.wallet{background:#f0fdf4;color:#16a34a}.sav-chip-name{font-size:13px;font-weight:500;color:#111;margin:0 0 2px}.sav-chip-desc{font-size:11px;color:#6b7280;margin:0}.sav-chip-amt{font-size:13px;font-weight:600;color:#16a34a;white-space:nowrap}.sav-promo-tag{display:inline-flex;align-items:center;gap:5px;background:#eff6ff;border:.5px solid #bfdbfe;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;color:#1d4ed8;margin-bottom:8px;flex-wrap:wrap}.sav-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-bottom:8px}.sav-meta-item{background:#fff;border:.5px solid #d1fae5;border-radius:8px;padding:8px 10px}.sav-meta-key{font-size:10px;color:#9ca3af;margin:0 0 2px;text-transform:uppercase;letter-spacing:.3px}.sav-meta-val{font-size:12px;font-weight:500;color:#111;margin:0}.sav-meta-val.green{color:#16a34a}.sav-meta-val.blue{color:#2563eb}.sav-usage-wrap{margin-bottom:4px}.sav-usage-bg{height:3px;background:#d1fae5;border-radius:3px;overflow:hidden}.sav-usage-fill{height:100%;background:#16a34a;border-radius:3px}.sav-usage-note{font-size:10px;color:#9ca3af;margin-top:3px}.sav-total-strip{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#fff;border:.5px solid #bbf7d0;border-radius:10px;margin-bottom:8px;gap:8px;flex-wrap:wrap}.sav-total-main{font-size:13px;font-weight:600;color:#15803d;margin:0 0 2px}.sav-total-orig{font-size:11px;color:#9ca3af;text-decoration:line-through;margin:0}.sav-total-right{text-align:right}.sav-total-payable{font-size:16px;font-weight:700;color:#16a34a;margin:0 0 2px}.sav-total-saved-note{font-size:10px;color:#6b7280;margin:0}.sav-validity-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px}.sav-validity-txt{font-size:11px;color:#9ca3af}.sav-validity-txt strong{color:#6b7280;font-weight:500}.category-badge{display:inline-block;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid #bfdbfe;margin-bottom:4px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}@media (max-width:480px){.category-badge{font-size:11px;max-width:150px}}.service-qty{display:inline-block;margin-left:6px;font-size:11px;color:#6b7280;background:#f3f4f6;padding:1px 6px;border-radius:10px}.service-name{font-size:13px;color:#111827;font-weight:500;margin:2px 0;line-height:1.4}@media (max-width:480px){.service-name{font-size:12px}}.sav-toggle{width:34px;height:18px;background:#d1d5db;border-radius:18px;position:relative;transition:background .2s;flex-shrink:0}.sav-toggle.on{background:#22c55e}.sav-toggle-thumb{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.18)}.sav-toggle.on .sav-toggle-thumb{left:18px}.date-list{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.date-list::-webkit-scrollbar{display:none}.date-list button{flex-shrink:0;white-space:nowrap}