.checkout-container{font-family:var(--font-poppins),sans-serif;background-color:#fdf6f0;color:#333;padding:80px 16px 20px}@media (min-width:640px){.checkout-container{padding:100px 40px 40px}}.checkout-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5d7c9;padding-bottom:12px;margin-bottom:20px}@media (min-width:640px){.checkout-header{gap:16px;padding-bottom:16px;margin-bottom:30px}}.checkout-title{font-family:var(--font-playfair),serif;font-size:24px;font-weight:600;margin:0;color:#2f2f2f;letter-spacing:.5px}@media (min-width:640px){.checkout-title{font-size:32px}}.checkout-title-text{position:relative;display:inline-block}.checkout-title-text:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:2px;background-color:#a17e56}.back-button{font-size:24px;border:none;background:transparent;cursor:pointer;color:#a17e56;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.back-button:hover{transform:translateX(-4px);color:#805f3f}.back-arrow{display:inline-block}.checkout-main{display:flex;flex-direction:column;gap:20px;margin-top:20px}@media (min-width:1024px){.checkout-main{flex-direction:row;flex-wrap:wrap}}.checkout-left{flex:2;display:flex;flex-direction:column;gap:20px}.checkout-right{flex:1;display:flex;flex-direction:column;gap:20px}.card{background:#fff;padding:16px;box-shadow:0 4px 10px rgba(0,0,0,.08);transition:all .3s ease;border-radius:8px}@media (min-width:640px){.card{padding:24px;border-radius:12px}}.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.form-row{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}@media (min-width:640px){.form-row{flex-direction:row;flex-wrap:wrap}}input[type=email],input[type=text]{flex:1;padding:10px;border:1px solid #e5d7c9;min-width:140px;font-family:var(--font-poppins),sans-serif;transition:all .3s ease;width:100%;border-radius:6px;font-size:14px}@media (min-width:640px){input[type=email],input[type=text]{padding:12px;border-radius:8px;font-size:16px}}input[type=email]:focus,input[type=text]:focus{outline:none;border-color:#a17e56;box-shadow:0 0 0 2px rgba(161,126,86,.2)}.checkboxes label{display:block;margin-top:10px;font-size:14px}.payment-options{display:flex;gap:12px;margin-top:10px}.payment-box{height:40px;width:60px;background-color:white;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:5px;border:1px solid #e5d7c9}.payment-box:hover{border-color:#a17e56;box-shadow:0 2px 8px rgba(0,0,0,.1)}.payment-logo{max-width:100%;max-height:100%;object-fit:contain}.payment-method-card{position:relative;display:block;background:white;border:2px solid #e5d7c9;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;min-height:80px}.payment-method-card:hover{border-color:#a17e56;box-shadow:0 4px 12px rgba(161,126,86,.15);transform:translateY(-2px)}.payment-method-card.selected{border-color:#a17e56;background:linear-gradient(135deg,#fdf6f0,#f9f5f0);box-shadow:0 4px 12px rgba(161,126,86,.2)}.payment-method-content{display:flex;align-items:center;gap:12px;height:100%}.payment-icon-container{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f9f5f0;border-radius:8px;flex-shrink:0}.payment-info{flex:1;min-width:0}.payment-name{font-family:var(--font-playfair),serif;font-size:16px;font-weight:600;color:#2f2f2f;margin:0 0 4px;line-height:1.2}.payment-description{font-size:12px;color:#666;margin:0;line-height:1.3}.payment-radio{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid #e5d7c9;background:white;flex-shrink:0}.payment-radio,.radio-indicator{border-radius:50%;transition:all .3s ease}.radio-indicator{width:8px;height:8px;background:transparent}.radio-indicator.checked{background:#a17e56}.payment-method-card.selected .payment-radio{border-color:#a17e56;background:#a17e56}.payment-method-card.selected .radio-indicator.checked{background:white}.shopping-bag-card{width:100%}.shopping-bag-title{font-family:var(--font-playfair),serif;font-size:22px;font-weight:600;color:#333;margin-top:0;margin-bottom:16px;display:flex;align-items:center;gap:10px}.shopping-bag-icon{color:#a17e56;display:flex;align-items:center;justify-content:center}.order-reference{font-size:14px;color:#666;margin-bottom:20px;font-weight:500}.product-item{display:flex;gap:16px;margin-top:16px;padding-bottom:16px;border-bottom:1px solid #f0e6dd}.product-item:last-child{border-bottom:none}.product-image-checkout{width:70px;height:70px;background-color:#f5f5f5;border-radius:12px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.checkout-product-image{width:100%;height:100%;object-fit:cover}.empty-checkout-cart{text-align:center;padding:20px 0;color:#666}.continue-shopping-link{display:inline-block;margin-top:12px;color:#a17e56;font-weight:500;text-decoration:none;transition:all .3s ease}.continue-shopping-link:hover{color:#805f3f;text-decoration:underline}.product-info{flex:1}.product-info p{margin:4px 0;font-size:14px}.product-info p:first-child{font-weight:600;font-size:16px;color:#333;margin-bottom:6px}.product-info p:nth-child(2){color:#a17e56;font-weight:600}.totals{border-top:1px solid #f0e6dd;margin-top:20px;padding-top:16px}.totals p{margin:8px 0;font-size:14px;color:#666}.totals h3,.totals p{display:flex;justify-content:space-between}.totals h3{margin:16px 0 8px;font-family:var(--font-playfair),serif;font-size:18px;font-weight:600;color:#333}.reach-us-button{background-color:#a17e56;color:white;padding:10px 20px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;display:inline-block;margin:5px 0 10px}.reach-us-button:hover{background-color:#805f3f;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.15)}.privacy-footer{margin-top:40px;font-size:12px;color:#666;border-top:1px solid #ccc;padding-top:10px}.consent-and-button{display:flex;flex-direction:column;gap:1rem;margin-top:20px}.consent-and-button .checkboxes{display:flex;flex-direction:column;gap:.5rem}.checkout-button{align-self:flex-start;background-color:#a17e56;color:white;padding:12px 24px;border:none;cursor:pointer;transition:all .3s ease;font-weight:600;border-radius:8px;font-size:16px}.checkout-button:hover:not(:disabled){background-color:#805f3f;box-shadow:0 4px 10px rgba(0,0,0,.15);transform:translateY(-2px)}.checkout-button:disabled{cursor:not-allowed;opacity:.6}.checkout-button-warning{background-color:#a17e56;color:white;border:2px solid #805f3f}.checkout-button-warning:hover:not(:disabled){background-color:#805f3f;box-shadow:0 4px 12px rgba(161,126,86,.3)}.checkout-button-warning:disabled{background-color:#a17e56;opacity:.7;cursor:not-allowed}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:#a17e56}.loading-spinner:after{content:"";width:30px;height:30px;border:3px solid #f3f3f3;border-top-color:#a17e56;border-radius:50%;animation:spin 1s linear infinite;margin-left:10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{text-align:center;padding:40px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin:20px auto;max-width:500px}.error-message h2{color:#dc2626;margin-bottom:16px;font-family:var(--font-playfair),serif}.error-message p{color:#666;margin-bottom:20px}.error-details{text-align:left;margin-bottom:20px}.error-main{color:#dc2626;font-weight:500;margin-bottom:12px}.error-secondary{color:#666;font-size:14px;line-height:1.4;margin-bottom:8px}.error-message button{background-color:#a17e56;color:white;padding:10px 20px;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease}.error-message button:hover{background-color:#805f3f}@media (max-width:768px){.checkout-container{padding:80px 20px 30px}.checkout-main,.form-row{flex-direction:column}.form-row{gap:12px}.checkout-left,.checkout-right{flex:1 1 100%}.checkout-title{font-size:24px}.card{padding:16px}.product-item{flex-direction:column;align-items:center;text-align:center}.product-image-checkout{margin-bottom:15px}.error-message{margin:10px;padding:20px}}