.checkout-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media print{.checkout-modal-container,.no-print,button,footer,header,nav{display:none!important}body *{visibility:hidden}.order-confirmation-print,.order-confirmation-print *{visibility:visible}.order-confirmation-print{position:absolute;left:0;top:0;width:100%;padding:20px;max-width:100%}.print-logo-container{display:flex!important;justify-content:center;align-items:center;margin-bottom:30px;padding:20px 0}.print-logo{width:200px!important;height:auto!important;max-width:100%}@page{size:A4 portrait;margin:1.5cm}.order-confirmation-print{page-break-inside:avoid;page-break-after:avoid;page-break-before:avoid}.order-confirmation-print>*{page-break-inside:avoid}body{margin:0;padding:0;background:white!important}.order-confirmation-print .bg-\[#F8D4B5\],.order-confirmation-print .bg-gray-50{padding:12px!important;margin-bottom:15px!important;border:1px solid #e5e7eb;border-radius:8px}.order-confirmation-print h3{font-size:16px!important;margin-bottom:10px!important}.order-confirmation-print .space-y-2{gap:8px!important}.order-confirmation-print .text-sm{font-size:13px!important}}.checkout-modal-content{background:white;border-radius:1rem;width:100%;max-width:28rem;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:translateZ(0);will-change:transform;animation:modalFadeIn .2s ease-out;margin:auto}@media (max-width:480px){.checkout-modal-container{align-items:flex-start;padding:80px .5rem .5rem}.checkout-modal-content{max-height:calc(100vh - 100px);border-radius:.75rem;min-height:auto;padding:1rem}.checkout-form{gap:.75rem}.checkout-title{font-size:1.25rem;margin-bottom:1rem;padding:0 .25rem}.checkout-input,.checkout-select-trigger{height:2.5rem;font-size:.875rem;padding:0 .75rem}.checkout-label{font-size:.8125rem;margin-bottom:.25rem;padding:0 .25rem}.checkout-error-message{font-size:.75rem;margin-top:.25rem;padding:.375rem .5rem}.checkout-button{height:2.5rem;font-size:.875rem;padding:0 1rem}}@media (max-width:640px){.checkout-modal-container{align-items:flex-start;padding:90px .75rem .75rem}.checkout-modal-content{max-height:calc(100vh - 110px);border-radius:.875rem;padding:1.25rem}.checkout-form{gap:1rem}.checkout-title{font-size:1.375rem;margin-bottom:1.25rem;padding:0 .25rem}.checkout-input,.checkout-select-trigger{height:2.75rem;font-size:.9375rem;padding:0 .875rem}.checkout-label{font-size:.875rem;margin-bottom:.375rem;padding:0 .25rem}.checkout-error-message{font-size:.8125rem;margin-top:.375rem;padding:.5rem .625rem}.checkout-button{height:2.75rem;font-size:.9375rem;padding:0 1.125rem}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:640px){.checkout-form>div{margin-bottom:.125rem}.checkout-input:focus,.checkout-select-trigger:focus{transform:none;box-shadow:0 0 0 2px rgba(233,165,125,.3)}.checkout-button{min-height:2.5rem;touch-action:manipulation}.checkout-input,.checkout-select-trigger{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.checkout-form>div:last-child{margin-top:1.5rem;gap:.75rem}}body.modal-open{overflow:hidden;position:fixed;width:100%}.checkout-modal-content{scrollbar-width:thin;scrollbar-color:#E9A57D #f1f1f1}.checkout-modal-content::-webkit-scrollbar{width:6px}.checkout-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.checkout-modal-content::-webkit-scrollbar-thumb{background:#E9A57D;border-radius:3px}.checkout-modal-content::-webkit-scrollbar-thumb:hover{background:#d4956f}@media (min-width:1024px){.checkout-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);min-height:100vh}.checkout-modal-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(233,165,125,.05) 0,transparent 70%);pointer-events:none;z-index:5}.checkout-modal-content{background:white;border-radius:1rem;width:100%;max-width:420px;max-height:calc(100vh - 120px);overflow-y:auto;position:relative;box-shadow:0 20px 40px -8px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.1);transform:translateZ(0);will-change:transform;animation:modalFadeIn .3s ease-out;margin:auto;padding:1.75rem;z-index:20}.checkout-form{gap:1rem}.checkout-input{height:2.75rem;font-size:.9375rem;padding:0 .875rem;border-radius:.5rem;border:1.5px solid #e5e7eb;transition:all .2s ease-in-out;background-color:#fafafa}.checkout-input:focus{background-color:white;border-color:#E9A57D;box-shadow:0 0 0 3px rgba(233,165,125,.1);transform:translateY(-1px);box-shadow:0 10px 25px -5px rgba(233,165,125,.1)}.checkout-input-error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.checkout-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.2)}.checkout-label{font-size:.9375rem;font-weight:500;margin-bottom:.375rem;color:#374151;letter-spacing:.01em}.checkout-error-message{font-size:.8125rem;font-weight:500;margin-top:.375rem;color:#ef4444;display:flex;align-items:center;gap:.375rem;background:rgba(239,68,68,.05);padding:.5rem .75rem;border-radius:.375rem;border-left:3px solid #ef4444}.checkout-error-message:before{content:"⚠️";font-size:.8125rem}.checkout-select-trigger{height:2.75rem;font-size:.9375rem;border-radius:.5rem;padding:0 .875rem;border:1.5px solid #e5e7eb;background-color:#fafafa;transition:all .2s ease-in-out}.checkout-select-trigger:focus{background-color:white;border-color:#E9A57D;box-shadow:0 0 0 3px rgba(233,165,125,.1);transform:translateY(-1px)}.checkout-select-content{border-radius:.5rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.15);max-height:16rem;border:1px solid #e5e7eb}.checkout-select-item{font-size:.9375rem;padding:.625rem .875rem;transition:all .15s ease-in-out}.checkout-select-item:hover{background-color:rgba(233,165,125,.08)}.checkout-button{height:2.75rem;font-size:.9375rem;font-weight:500;border-radius:.5rem;transition:all .2s ease-in-out;border:1.5px solid transparent}.checkout-button:hover{transform:translateY(-1px)}.checkout-button-primary{background:linear-gradient(135deg,#E9A57D,#d4956f);box-shadow:0 4px 14px 0 rgba(233,165,125,.3)}.checkout-button-primary:hover{box-shadow:0 8px 25px 0 rgba(233,165,125,.4)}.checkout-button-secondary{border:2px solid #d1d5db;background:white;color:#6b7280}.checkout-button-secondary:hover{border-color:#9ca3af;background:#f9fafb;box-shadow:0 4px 14px 0 rgba(0,0,0,.1)}.checkout-title{font-size:1.625rem;font-weight:600;margin-bottom:1.5rem;color:#1f2937;text-align:center;position:relative;letter-spacing:-.025em}.checkout-title:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translateX(-50%);width:3rem;height:.1875rem;background:linear-gradient(135deg,#E9A57D,#d4956f);border-radius:.125rem}}@media (min-width:1280px){.checkout-modal-container{padding:2rem}.checkout-modal-content{max-width:32rem;padding:2rem;border-radius:1rem}.checkout-form{gap:1.5rem}.checkout-input,.checkout-select-trigger{height:3rem;font-size:1rem;padding:0 1rem;border-radius:.5rem}.checkout-button{height:3rem;font-size:1rem;padding:0 1.5rem;border-radius:.5rem;font-weight:500}.checkout-title{font-size:2rem;margin-bottom:1.75rem;font-weight:600;line-height:1.2}.checkout-label{font-size:.9375rem;margin-bottom:.5rem;font-weight:500;line-height:1.3}.checkout-error-message{font-size:.875rem;padding:.5rem .875rem;margin-top:.5rem;line-height:1.4}}@media (min-width:1440px){.checkout-modal-container{padding:2.5rem}.checkout-modal-content{max-width:36rem;padding:2.5rem;border-radius:1.125rem;max-height:calc(100vh - 160px)}.checkout-form{gap:1.75rem}.checkout-input,.checkout-select-trigger{height:3.25rem;font-size:1.0625rem;padding:0 1.125rem;border-radius:.5625rem}.checkout-button{height:3.25rem;font-size:1.0625rem;padding:0 1.75rem;border-radius:.5625rem;font-weight:500}.checkout-title{font-size:2.25rem;margin-bottom:2rem;font-weight:600;line-height:1.2}.checkout-label{font-size:1rem;margin-bottom:.625rem;font-weight:500;line-height:1.3}.checkout-error-message{font-size:.9375rem;padding:.625rem 1rem;margin-top:.625rem;line-height:1.4}}@media (min-width:1600px){.checkout-modal-container{padding:3rem}.checkout-modal-content{max-width:40rem;padding:3rem;border-radius:1.25rem;max-height:calc(100vh - 180px);box-shadow:0 30px 60px -12px rgba(0,0,0,.35)}.checkout-form{gap:2rem}.checkout-input,.checkout-select-trigger{height:3.5rem;font-size:1.125rem;padding:0 1.25rem;border-radius:.625rem}.checkout-button{height:3.5rem;font-size:1.125rem;padding:0 2rem;font-weight:500;border-radius:.625rem}.checkout-title{font-size:2.5rem;margin-bottom:2.25rem;font-weight:600;line-height:1.2}.checkout-label{font-size:1.0625rem;margin-bottom:.75rem;font-weight:500;line-height:1.3}.checkout-error-message{font-size:1rem;margin-top:.75rem;padding:.75rem 1.125rem;line-height:1.4}}@media (min-width:1920px){.checkout-modal-container{padding:3.5rem}.checkout-modal-content{max-width:580px;padding:3rem;border-radius:1.5rem;max-height:calc(100vh - 200px);box-shadow:0 35px 70px -15px rgba(0,0,0,.4)}.checkout-form{gap:2rem}.checkout-input,.checkout-select-trigger{height:3.75rem;font-size:1.1875rem;padding:0 1.375rem;border-radius:.75rem}.checkout-button{height:3.75rem;font-size:1.1875rem;font-weight:500;border-radius:.75rem}.checkout-title{font-size:2.125rem;margin-bottom:2.75rem}.checkout-label{font-size:1.1875rem;margin-bottom:.75rem}.checkout-error-message{font-size:1.0625rem;margin-top:.75rem;padding:.75rem 1rem}.checkout-select-content{max-height:18rem;border-radius:.75rem}.checkout-select-item{font-size:1.0625rem;padding:.75rem 1rem}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.checkout-input-error{animation:shake .3s ease-in-out}.checkout-input:focus,.checkout-select-trigger:focus{outline:2px solid #E9A57D;outline-offset:2px;transform:translateY(-1px)}.checkout-button,.checkout-input,.checkout-select-trigger{transition:all .3s cubic-bezier(.4,0,.2,1)}.checkout-error-message{background:rgba(239,68,68,.05);padding:.5rem .75rem;border-radius:.5rem;border-left:3px solid #ef4444;animation:slideInError .3s ease-out}@keyframes slideInError{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.checkout-input:hover:not(:disabled):not(:focus),.checkout-select-trigger:hover:not(:disabled):not(:focus){border-color:rgba(233,165,125,.6);box-shadow:0 2px 8px rgba(233,165,125,.1);transform:translateY(-1px)}.checkout-modal-content{animation:modalEnhancedFadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes modalEnhancedFadeIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (min-width:768px) and (max-width:1023px){.checkout-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.checkout-modal-content{background:white;border-radius:1rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px -12px rgba(0,0,0,.25);animation:modalFadeIn .3s ease-out;padding:2rem}.checkout-button,.checkout-input,.checkout-select-trigger{height:3rem;font-size:1rem}.checkout-title{font-size:1.875rem;margin-bottom:2rem}}.checkout-select-trigger:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.6}.checkout-input:hover:not(:disabled),.checkout-select-trigger:hover:not(:disabled){border-color:#E9A57D;box-shadow:0 0 0 1px rgba(233,165,125,.1)}@media (min-width:1024px){.checkout-form>div{margin-bottom:.25rem}.checkout-form>div:last-child{margin-top:2rem;gap:1rem;display:flex;justify-content:center;align-items:center;flex-direction:row}.checkout-form>div:last-child .checkout-button{flex:1;max-width:150px;margin:0 .5rem}.checkout-form>div:not(:last-child){position:relative}.checkout-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;line-height:1.3;color:#374151}.checkout-input,.checkout-select-trigger{line-height:1.4;padding:0 .875rem}.checkout-button,.checkout-input,.checkout-select-trigger{height:2.75rem;font-size:1rem;border-radius:.5rem;transition:all .2s ease-in-out}.checkout-button{font-weight:500;line-height:1;padding:0 1.25rem}.checkout-title{font-size:1.875rem;font-weight:600;line-height:1.2;margin-bottom:1.5rem}.checkout-error-message{margin-top:.5rem;margin-bottom:0;font-size:.8125rem;line-height:1.4;padding:.5rem .75rem}.checkout-form{gap:1.25rem}}@media (min-width:1024px) and (min-resolution:1.5dppx){.checkout-modal-content{max-width:28rem;padding:1.5rem;border-radius:1rem;transform:scale(1);transform-origin:center}.checkout-title{font-size:1.875rem;margin-bottom:1.5rem;font-weight:600;line-height:1.2}.checkout-input,.checkout-select-trigger{padding:0 .875rem;line-height:1.4}.checkout-button,.checkout-input,.checkout-select-trigger{height:2.75rem;font-size:1rem;border-radius:.5rem;border-width:1px}.checkout-button{padding:0 1.25rem;font-weight:500}.checkout-label{font-size:.875rem;margin-bottom:.5rem;font-weight:500;line-height:1.3}.checkout-error-message{font-size:.8125rem;padding:.5rem .75rem;margin-top:.5rem;line-height:1.4}.checkout-form{gap:1.25rem}}@media screen and (max-resolution:1.2dppx){.checkout-title{letter-spacing:-.025em;line-height:1.2}.checkout-label{letter-spacing:.01em;line-height:1.4}.checkout-input,.checkout-select-trigger{line-height:1.5}.checkout-error-message{line-height:1.4}}.checkout-form>.grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;box-sizing:border-box}.checkout-form>.grid>div{width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column}.checkout-form>.grid .checkout-input{width:100%!important;box-sizing:border-box!important;flex:1}.checkout-form>.grid .checkout-error-message,.checkout-form>.grid .checkout-label{width:100%;box-sizing:border-box}.product-badge{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;transition:all .2s ease}.product-badge:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:scale(1.05)}.quantity-btn{transition:all .2s ease;border:2px solid #e5e7eb}.quantity-btn:hover{border-color:#E9A57D;background-color:#E9A57D;color:white;transform:scale(1.1)}.delete-btn{transition:all .2s ease}.delete-btn:hover{background-color:#fff7ed;border-color:#E9A57D;transform:scale(1.1)}.order-summary{background:linear-gradient(135deg,#FADECF,#F5D5C3);backdrop-filter:blur(10px)}.order-summary-item{padding:8px 0;border-radius:8px}.checkout-btn{background:linear-gradient(135deg,#E9A57D,#d4956f);transition:all .3s ease;position:relative;overflow:hidden}.checkout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.checkout-btn:hover:before{left:100%}.checkout-btn:hover{background:linear-gradient(135deg,#d4956f,#c8895f);box-shadow:0 10px 30px rgba(233,165,125,.4)}@media (max-width:640px){.cart-item{margin-bottom:1rem}.product-info{text-align:left}.quantity-controls{justify-content:center;margin:1rem 0}.price-info{text-align:center;margin-top:.5rem}}.cart-item:focus-within{outline:2px solid #E9A57D;outline-offset:2px}.cart-image{transition:opacity .3s ease}.cart-image:hover{opacity:.9;transform:scale(1.05)}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#065f46}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #f87171;color:#991b1b}.quantity-change{animation:pulse .3s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.empty-cart{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px dashed #d1d5db}*{scroll-behavior:smooth}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#374151;color:white;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}.tooltip:hover:after{opacity:1}