.modal-overlay{align-items:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.modal-container{background:#fff;border-radius:1.5rem 1.5rem 0 0;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;position:relative;width:100%}.modal-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:40px;z-index:10}.modal-close:hover{background:#0f172a;transform:rotate(90deg)}.modal-content{display:flex;flex-direction:column;overflow-y:auto}.modal-image-section{aspect-ratio:16/9;background:var(--bg-dark);position:relative;width:100%}.modal-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.modal-type-badge{border-radius:50px;bottom:1rem;box-shadow:0 4px 12px #0003;font-family:var(--font-montserrat),sans-serif;font-size:1rem;font-weight:var(--font-bold);padding:.75rem 1.5rem;position:absolute;right:1rem}.modal-type-badge.free{background:var(--accent-primary);color:var(--brand-black)}.modal-type-badge.paid{background:var(--bg-blue);color:#fff}.modal-details{display:flex;flex-direction:column;gap:1rem;padding:2rem}.modal-category{color:var(--text-secondary);font-family:var(--font-montserrat),sans-serif;font-size:.875rem;font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.modal-title{color:var(--text-blue);font-family:var(--font-heading),sans-serif;font-size:1.75rem;font-weight:var(--font-bold);line-height:1.3;margin:0}.modal-description{color:var(--text-secondary);font-family:var(--font-inter),sans-serif;font-size:1rem;line-height:1.7;margin:0}.modal-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.payment-title{color:var(--text-primary);font-family:var(--font-heading),sans-serif;font-size:1.125rem;font-weight:var(--font-bold);margin:0}.payment-providers{display:flex;flex-direction:column;gap:.75rem}.payment-btn{align-items:center;background:#fff;border:2px solid var(--border-light);border-radius:.75rem;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-inter),sans-serif;font-size:1rem;gap:.75rem;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.payment-btn:hover{background:var(--bg-dark);border-color:var(--accent-primary);transform:translate(4px)}.payment-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.payment-btn-stock{border-radius:50px;font-family:var(--font-inter),sans-serif;font-size:.75rem;font-weight:var(--font-semibold);margin-left:auto;padding:.2rem .5rem}.payment-btn-stock.low{background:#d977061a;color:#d97706}.payment-btn-stock.empty{background:#dc262614;color:#dc2626}.payment-btn-label{color:var(--text-primary);flex:1;font-weight:var(--font-semibold);text-align:left;text-transform:capitalize}.payment-btn-price{color:var(--text-blue);font-weight:var(--font-bold)}.payment-btn-right{align-items:center;display:flex;gap:.5rem;margin-left:auto}.payment-note{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-inter),sans-serif;font-size:.875rem;gap:.375rem;justify-content:center;margin:.5rem 0 0}.modal-enter-active,.modal-leave-active{transition:opacity .3s ease}.modal-enter-active .modal-container,.modal-leave-active .modal-container{transition:transform .3s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:translateY(100%)}.modal-error,.modal-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid rgba(250,204,21,.2);border-radius:50%;border-top:4px solid var(--accent-primary);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.modal-error{color:var(--text-secondary)}.modal-error svg{color:var(--text-muted)}.view-slide-enter-active,.view-slide-leave-active{transition:opacity .2s ease,transform .22s ease}.view-slide-enter-from{opacity:0;transform:translate(24px)}.view-slide-leave-to{opacity:0;transform:translate(-24px)}.modal-view{display:flex;flex-direction:column}.modal-order-view{height:100%}.order-header{border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;flex-shrink:0;padding:0 1.5rem 1.25rem}.order-header-nav{min-height:3rem;padding-right:3rem;padding-top:1rem}.order-back,.order-header-nav{align-items:center;display:flex}.order-back{background:none;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:var(--font-montserrat),sans-serif;font-size:.875rem;font-weight:var(--font-semibold);gap:.375rem;padding:.375rem .625rem;transition:color .2s ease,background .2s ease;white-space:nowrap}.order-back:hover{background:var(--bg-dark);color:var(--text-primary)}.order-header-summary{display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.order-header-title{color:var(--text-primary);font-family:var(--font-heading),sans-serif;font-size:1.125rem;font-weight:var(--font-bold);line-height:1.3}.order-header-price{color:var(--text-secondary);font-family:var(--font-inter),sans-serif;font-size:.875rem;text-transform:capitalize}.order-form-wrapper{display:flex;flex:1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.75rem 1.5rem}.order-error{align-items:center;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:.75rem;color:#dc2626;display:flex;font-family:var(--font-inter),sans-serif;font-size:.875rem;gap:.625rem;padding:.875rem 1rem}.order-fieldset{border:none;display:flex;flex-direction:column;gap:1rem;margin:0;padding:0}.order-fieldset-legend{color:var(--text-secondary);font-family:var(--font-montserrat),sans-serif;font-size:.8125rem;font-weight:var(--font-semibold);letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase;width:100%}.order-field{display:flex;flex-direction:column;gap:.375rem}.order-label{color:var(--text-primary);font-family:var(--font-inter),sans-serif;font-size:.875rem;font-weight:var(--font-medium)}.order-label-optional{color:var(--text-muted);font-weight:var(--font-normal)}.order-input{background:#fff;border:1.5px solid var(--border-medium);border-radius:.625rem;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-inter),sans-serif;font-size:.9375rem;outline:none;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.order-input::-moz-placeholder{color:var(--text-muted)}.order-input::placeholder{color:var(--text-muted)}.order-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #facc1526}.order-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.order-input--locked{background:var(--bg-dark);color:var(--text-secondary);cursor:default}.order-same-as-toggle{align-items:center;align-self:flex-start;background:none;border:1.5px dashed var(--border-medium);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-inter),sans-serif;font-size:.8125rem;font-weight:var(--font-medium);gap:.5rem;margin-bottom:.25rem;padding:.375rem .625rem;transition:all .2s ease}.order-same-as-toggle:hover{border-color:var(--accent-primary);color:var(--text-primary)}.order-same-as-toggle.active{background:#facc1514;border-color:var(--accent-primary);border-style:solid;color:var(--text-primary)}.order-same-as-check{align-items:center;border:1.5px solid var(--border-medium);border-radius:4px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all .2s ease;width:16px}.order-same-as-toggle.active .order-same-as-check{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--brand-black)}.order-field-error{color:#dc2626;font-family:var(--font-inter),sans-serif;font-size:.8125rem}.order-field-row{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.order-qty-stepper{align-items:center;display:flex;gap:.75rem}.order-qty-btn{align-items:center;background:#fff;border:1.5px solid var(--border-medium);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.order-qty-btn:hover:not(:disabled){background:#facc1514;border-color:var(--accent-primary)}.order-qty-btn:disabled{cursor:not-allowed;opacity:.35}.order-qty-value{color:var(--text-primary);font-family:var(--font-heading),sans-serif;font-size:1.125rem;font-weight:var(--font-bold);min-width:1.5rem;text-align:center}.order-qty-unit-price{color:var(--text-secondary);font-family:var(--font-inter),sans-serif;font-size:.875rem;margin-left:.25rem}.order-stock-label{align-items:center;display:inline-flex;font-family:var(--font-inter),sans-serif;font-size:.8125rem;font-weight:var(--font-medium);gap:.3rem;margin-top:.25rem}.order-stock-label.ok{color:#16a34a}.order-stock-label.low{color:#d97706}.order-stock-label.empty{color:#dc2626}@media(min-width:768px){.modal-overlay{align-items:center;justify-content:flex-end}.modal-container{border-radius:0;max-height:100vh;max-width:500px}.modal-content{height:100vh}.modal-image-section{aspect-ratio:3/4;flex-shrink:0}.modal-details{flex:1;padding:2.5rem}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:translate(100%)}}
