.checkout-form{display:flex;flex-direction:column;flex:1}.checkout-content{min-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:0}.checkout-form .checkout-form-actions{position:static!important;border-top:none!important;background-color:transparent!important;padding:1rem 0!important;margin-top:1rem;flex-shrink:0}.checkout-form .checkout-form{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:1.5rem}@media (max-width: 768px){.checkout-content{min-height:calc(100vh - 320px);padding-bottom:0}.checkout-form .checkout-form{padding-bottom:calc(200px + env(safe-area-inset-bottom,0px))}.checkout-form .checkout-form-actions{position:fixed!important;bottom:0!important;left:0!important;right:0!important;background-color:#fff!important;border-top:1px solid #E5E7EB!important;padding:1rem!important;margin-top:0!important;z-index:100!important;max-width:600px!important;margin-left:auto!important;margin-right:auto!important}.contact-type-select{font-size:16px;padding:1rem;border-radius:12px;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:#f0f0f0!important;border:2px solid #E5E7EB!important}}@media (max-width: 480px){.contact-type-select{font-size:16px;padding:1rem 2.5rem 1rem 1rem;border-radius:12px;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:#f0f0f0!important;border:2px solid #E5E7EB!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:16px!important}}.checkout-form .delivery-content{margin-top:1rem;padding-bottom:calc(1rem + 4px)}.checkout-form .delivery-content .address-list>.address-item:not(.address-item--pickup-incompatible){border-width:2px;border-style:solid;border-color:transparent;box-sizing:border-box}.checkout-form .delivery-content .address-list>.address-item:has(.address-radio:checked):not(.address-item--pickup-incompatible){border-color:#4bb755;background-color:#f0fdf4}.section-title{font-family:Inter,sans-serif;font-size:19px;font-weight:600;line-height:20px;color:#374151;margin-bottom:.5rem;display:block}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-label{font-family:Inter,sans-serif;font-size:16px;font-weight:500;color:#374151;margin-bottom:.25rem}.auth-input{width:100%;padding:.75rem;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:21px;color:#212529;background-color:#f0f0f0;transition:all .2s ease}.auth-input:focus{outline:none;border:none;background-color:#e5e7eb}.auth-input.error{border:2px solid #EF4444;background-color:#fef2f2}.auth-error{font-size:.75rem;color:#ef4444;margin-top:.25rem}.contact-type-selector{margin-bottom:.5rem}.contact-type-select{width:100%;padding:.75rem 1rem;border:2px solid #E5E7EB;border-radius:8px;background-color:#f0f0f0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#374151;cursor:pointer;transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right .75rem center;background-size:16px}.contact-type-select:focus{outline:none;border-color:#4bb755}.contact-type-select:hover{border-color:#d1d5db}.contact-type-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.delivery-options{display:flex;gap:1rem;flex-wrap:wrap}.delivery-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;background:none;border:none;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;will-change:transform}.delivery-option:hover{transform:scale(.98)}.delivery-option:active{transform:scale(.95)}.delivery-radio{width:18px;height:18px;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #D1D5DB;border-radius:50%;background-color:#fff;position:relative;transition:all .2s ease}.delivery-radio:checked{border-color:#4bb755;background-color:#fff}.delivery-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background-color:#4bb755}.delivery-option span{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#374151;cursor:pointer}.delivery-content{border:2px solid #4BB755;border-radius:8px;padding:1rem;margin-top:.5rem}.loading-text{font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#6b7280;text-align:center;padding:1rem}.address-list{display:flex;flex-direction:column;gap:.5rem}.address-item{display:flex;align-items:flex-start;justify-content:space-between;cursor:pointer;padding:.5rem;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease,border-color .15s ease;gap:.5rem;will-change:transform;border-radius:12px;border:1px solid transparent}.address-item--pickup-incompatible{cursor:not-allowed;border-color:#fca5a5;background-color:#fef2f2}.address-item--pickup-incompatible:hover{transform:none;background-color:#fee2e2}.address-item--pickup-loading{opacity:.85}.pickup-incompatible-msg{font-size:13px;font-weight:500;color:#b91c1c;margin-top:.35rem;line-height:1.35}.address-item:hover{background-color:#f9fafb;transform:scale(.98)}.address-item:active{transform:scale(.95)}.address-radio{width:16px;height:16px;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #D1D5DB;border-radius:50%;background-color:#fff;position:relative;transition:all .2s ease}.address-radio:checked{border-color:#4bb755;background-color:#fff}.address-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background-color:#4bb755}.address-item:has(.address-radio:checked){background-color:#f0fdf4;border-color:#4bb755;border-width:2px}.address-item span{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#374151}.address-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;flex:1;min-width:0}.address-name{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.address-text{font-family:Inter,sans-serif;font-size:12px;display:flex;flex-direction:column;justify-content:center;line-height:16px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.no-addresses{text-align:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4BB755;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#666;font-size:14px;margin:0}.retry-location-container{margin-bottom:16px;width:100%}.retry-location-btn{background:#4bb755;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;will-change:transform}.retry-location-btn:hover:not(:disabled){background:#3a9a42;transform:scale(.98)}.retry-location-btn:active:not(:disabled){background:#2e7d35;transform:scale(.95)}.retry-location-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auto-location-container{margin-bottom:16px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px}.auto-location-container p{margin:0;color:#495057;font-size:14px;text-align:center;font-family:Inter,sans-serif}.no-addresses p{font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#6b7280;margin:0 0 1rem}.add-address-btn{background-color:#ebf8e7;color:#4bb755;border:none;border-radius:8px;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;width:100%;margin-top:.5rem;will-change:transform}.add-address-btn:hover{background-color:#d1f2d1;transform:scale(.98)}.add-address-btn:active{background-color:#a8e6a8;transform:scale(.95)}.notification-options{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.notification-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;background:none;border:none;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;will-change:transform}.notification-option:hover{transform:scale(.98)}.notification-option:active{transform:scale(.95)}.notification-radio{width:18px;height:18px;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #D1D5DB;border-radius:50%;background-color:#fff;position:relative;transition:all .2s ease}.notification-radio:checked{border-color:#4bb755;background-color:#fff}.notification-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background-color:#4bb755}.notification-option span{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#374151;cursor:pointer}.error-text{font-family:Inter,sans-serif;font-size:12px;line-height:16px;padding:12px;color:#dc2626;margin-top:.25rem;display:block}.order-summary{width:100%}.summary-item{display:flex;justify-content:space-between;align-items:center;font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#374151;margin-bottom:.5rem}.summary-item:last-child{margin-bottom:0}.summary-item.total{font-weight:600;font-size:24px;line-height:32px;color:#1f2937;justify-content:flex-start;gap:.5rem;flex-direction:column;align-items:flex-start}.delivery-fee{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#6b7280;margin-top:.25rem}.final-total{font-family:Inter,sans-serif;font-size:20px;font-weight:700;line-height:28px;color:#1f2937;margin-top:.5rem;padding:.75rem 0;border-top:1px solid #E5E7EB;width:100%}.checkout-form .error-message{background-color:#fef2f2;border:1px solid #FECACA;border-radius:8px;margin-bottom:12px}.checkout-form .error-message .error-text{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#dc2626;margin:0}@media (min-width: 768px) and (max-width: 1023px){.checkout-content{min-height:calc(100vh - 320px);padding-bottom:0}.delivery-options{gap:1rem}.delivery-option{flex:1;min-width:150px}.notification-options{gap:.75rem}.notification-option{flex:1;min-width:100px}}@media (min-width: 1024px){.checkout-content{min-height:auto;overflow-y:visible;padding-bottom:0}.checkout-form{padding-bottom:0}.delivery-options{gap:1rem}.delivery-option{flex:1;min-width:150px}.notification-options{gap:.75rem}.notification-option{flex:1;min-width:100px}}.checkout-form .pickup-info{font-size:12px;color:#4b5563;font-weight:500;margin-top:4px;display:block}.delivery-info{font-size:12px;color:#4b5563;font-weight:500;margin-top:4px;display:block;word-wrap:break-word;word-break:break-word;white-space:normal;line-height:1.4}.checkout-price-promotion{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.checkout-original-price{font-size:14px;font-weight:500;color:#9ca3af;text-decoration:line-through}.checkout-discounted-price{font-size:16px;font-weight:600;color:#16a34a}.customer-comment-section{border-top:1px solid #e9ecef;padding-bottom:40px}.comment-header{margin:12px 0}.comment-title{font-size:18px;font-weight:700;color:#333;margin:0}.comment-textarea{width:100%;padding:16px;border:none;border-radius:12px;font-size:16px;font-family:inherit;resize:none;min-height:80px;background:#f0f0f0;transition:border-color .3s ease}.comment-textarea:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 2px #28a7451a}.comment-textarea::-moz-placeholder{color:#00000080;font-size:16px}.comment-textarea::placeholder{color:#00000080;font-size:16px}.cutlery-items{display:flex;flex-direction:column;gap:16px;margin-top:12px}.cutlery-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #E5E7EB;border-radius:8px;background-color:#f9fafb}.cutlery-item-info{display:flex;flex-direction:column;gap:4px}.item-name{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#374151}.item-quantity{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#6b7280}.cutlery-counter{display:flex;align-items:center;background-color:#4bb755;border-radius:25px;padding:8px;gap:0;width:120px;height:50px;justify-content:center}.cutlery-quantity-btn{width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:#fff;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;will-change:transform}.cutlery-quantity-btn:hover:not(:disabled){background-color:#fff3;transform:scale(.98)}.cutlery-quantity-btn:active:not(:disabled){background-color:#ffffff4d;transform:scale(.95)}.cutlery-quantity-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cutlery-quantity-display{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#fff;min-width:32px;text-align:center}.payment-disabled-message{margin-bottom:12px;width:100%;padding:12px;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:8px}.payment-disabled-message p{text-align:center;margin:0;font-size:14px;color:#92400e;font-weight:500}.checkout-field-row{display:flex;align-items:flex-start;gap:8px;width:100%}.checkout-field-row>.auth-field{flex:1;min-width:0}.checkout-field-row .form-group{flex:1;margin:0;min-width:0}.checkout-field-row__edit{flex-shrink:0;align-self:flex-start;box-sizing:border-box;width:48px;min-width:48px;height:2.8125rem;min-height:2.8125rem;border:none;background:#f0f0f0;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.checkout-field-row__edit:hover{background:#e5e5e5}@media (max-width: 768px){.checkout-field-row:has(.phone-input-container) .checkout-field-row__edit{height:3.3125rem;min-height:3.3125rem}}.checkout-recipient-summary__phones,.checkout-recipient-summary__phones--input{margin-top:1rem}.checkout-recipient-summary__phones .checkout-add-phone-btn{margin-top:.75rem;width:100%}.checkout-purpose-radios .address-item,.checkout-place-type-radios .address-item{margin:0}.address-place-badge{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;color:#6b7280}.checkout-recipient-summary{margin-bottom:.25rem}.checkout-recipient-summary__title{font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.35;margin:0 0 .35rem;color:#111827}.checkout-recipient-summary__title--spaced{margin-top:1.25rem}.checkout-recipient-summary__hint{font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#6b7280;margin:0 0 .35rem}.checkout-recipient-summary__value-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer}.checkout-recipient-summary__value{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#111827}.checkout-recipient-summary__value-static{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#111827;margin:0}.checkout-address-select-row{position:relative;flex-direction:row;align-items:flex-start;gap:.5rem}.checkout-address-select-row .address-radio{flex-shrink:0;margin-top:3px}.checkout-address-select-name{flex:1;min-width:0;font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:20px;color:#111827}.checkout-address-select-right{flex:0 0 38%;max-width:44%;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.checkout-address-select-right .address-place-badge{margin-left:0}.checkout-address-select-note-col{flex:0 0 36%;max-width:40%;text-align:right;display:flex;flex-direction:column;gap:2px}.checkout-address-note-label{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#9ca3af;line-height:16px}.checkout-address-note-text{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:#6b7280;line-height:18px;word-break:break-word}.checkout-address-row-edit{position:absolute;right:6px;top:6px;background:#f3f4f6;border:none;border-radius:8px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.checkout-pickup-select-row{flex-direction:row;align-items:flex-start;gap:.5rem}.checkout-pickup-select-row .address-radio{flex-shrink:0;margin-top:3px}.checkout-pickup-select-row .address-info{flex:1;min-width:0}.checkout-pickup-select-meta{flex:0 0 32%;max-width:36%}.checkout-purpose-row{flex-direction:row;align-items:flex-start;gap:.5rem}.checkout-purpose-row .address-radio{margin-top:3px}.checkout-purpose-row--disabled{opacity:.45}.checkout-add-phone-btn{margin-top:.75rem}.checkout-phones-plain-list{display:flex;flex-direction:column;gap:1rem}.checkout-recipient-summary--phone-line{margin-bottom:0}.checkout-recipient-summary__phone-line-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.checkout-phone-inline-edit{flex-shrink:0;background:#f3f4f6;border:none;border-radius:8px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.checkout-address-select-note-col .checkout-address-note-text{font-size:13px;font-weight:400;color:#6b7280;line-height:18px;text-align:right;word-break:break-word}
