:root{--cream: #faf6f0;--warm-white: #fffef9;--caramel: #c4a574;--espresso: #2d1f14;--mocha: #5c4033;--gold: #d4a853;--rust: #b85c38;--sage: #8b9a7a;--shadow: rgba(45, 31, 20, .08);--shadow-deep: rgba(45, 31, 20, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,-apple-system,sans-serif;background:var(--cream);color:var(--espresso);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:600}.checkout-page{min-height:100vh;display:flex;flex-direction:column}.checkout-header{background:var(--warm-white);padding:1rem 2rem;box-shadow:0 2px 20px var(--shadow);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.checkout-header a{color:var(--mocha);text-decoration:none;font-weight:500;transition:color .2s}.checkout-header a:hover{color:var(--rust)}.checkout-logo{display:flex;align-items:center;gap:.5rem}.checkout-logo img{height:40px;width:40px;object-fit:cover;border-radius:50%}.checkout-logo span{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;color:var(--espresso)}.checkout-logo span em{color:var(--gold);font-style:normal}.checkout-nav{display:flex;gap:1.5rem;align-items:center}.checkout-main{flex:1;max-width:900px;margin:0 auto;padding:2.5rem 2rem;width:100%}.checkout-page h1{font-family:Cormorant Garamond,serif;font-size:2.25rem;color:var(--espresso);margin-bottom:.5rem}.checkout-subtitle{color:var(--mocha);font-size:1rem;margin-bottom:2rem}.empty-cart,.success-msg,.config-msg{margin-bottom:1.5rem;color:var(--mocha);font-size:1.1rem}.empty-state,.success-state{text-align:center;padding:4rem 2rem;background:var(--warm-white);border-radius:16px;box-shadow:0 4px 24px var(--shadow)}.empty-state h1,.success-state h1{margin-bottom:1rem}.success-state .success-icon{font-size:4rem;margin-bottom:1rem;color:var(--gold)}.checkout-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:750px){.checkout-layout{grid-template-columns:1fr}}@media(max-width:768px){.checkout-header{padding:.75rem 1rem;gap:.5rem}.checkout-nav{gap:.75rem}.checkout-logo img{height:36px;width:36px}}.cart-summary{background:var(--warm-white);border-radius:16px;padding:2rem;box-shadow:0 4px 24px var(--shadow);border:1px solid rgba(196,165,116,.2)}.cart-summary h3{font-family:Cormorant Garamond,serif;font-size:1.35rem;margin-bottom:1.25rem;color:var(--espresso);padding-bottom:.75rem;border-bottom:2px solid var(--caramel)}.cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(196,165,116,.25);gap:1rem}.cart-item:last-of-type{border-bottom:none}.cart-item-info{display:flex;flex-direction:column;gap:.5rem}.cart-item-name{font-weight:600;color:var(--espresso);font-size:1.05rem}.cart-item-qty{display:flex;align-items:center;gap:.5rem}.cart-item-qty button{width:32px;height:32px;border:2px solid var(--caramel);background:var(--cream);border-radius:8px;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--mocha);transition:all .2s}.cart-item-qty button:hover{background:var(--caramel);color:var(--warm-white)}.cart-item-qty span{min-width:1.5rem;text-align:center;font-weight:500}.cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.cart-item-price{font-weight:600;color:var(--rust);font-size:1.1rem}.remove-btn{background:none;border:none;color:var(--mocha);font-size:.85rem;cursor:pointer;text-decoration:underline;opacity:.8}.remove-btn:hover{color:var(--rust);opacity:1}.cart-total{margin-top:1.25rem;padding-top:1.25rem;border-top:2px solid var(--caramel);font-size:1.2rem}.cart-total strong{color:var(--espresso)}.customer-section{background:var(--warm-white);border-radius:16px;padding:2rem;box-shadow:0 4px 24px var(--shadow);border:1px solid rgba(196,165,116,.2);margin-bottom:1.5rem}.customer-section h3{font-family:Cormorant Garamond,serif;font-size:1.35rem;margin-bottom:.5rem;color:var(--espresso);padding-bottom:.75rem;border-bottom:2px solid var(--caramel)}.customer-hint{color:var(--mocha);font-size:.9rem;margin-bottom:1.25rem}.customer-fields{display:flex;flex-direction:column;gap:1rem}.customer-fields label{display:flex;flex-direction:column;gap:.35rem}.customer-fields label span{font-size:.9rem;font-weight:500;color:var(--espresso)}.customer-fields label span em{font-weight:400;color:var(--mocha);font-style:normal}.customer-fields input{padding:.75rem 1rem;border:1px solid rgba(92,64,51,.25);border-radius:8px;font-size:1rem;font-family:inherit}.customer-fields input:focus{outline:none;border-color:var(--caramel)}.payment-section{background:var(--warm-white);border-radius:16px;padding:2rem;box-shadow:0 4px 24px var(--shadow);border:1px solid rgba(196,165,116,.2)}.payment-section h3{font-family:Cormorant Garamond,serif;font-size:1.35rem;margin-bottom:1.25rem;color:var(--espresso);padding-bottom:.75rem;border-bottom:2px solid var(--caramel)}.sandbox-hint{font-size:.9rem;color:var(--mocha);margin-bottom:1rem;padding:.75rem;background:#8b776526;border-radius:6px}.error-msg{color:var(--rust);margin-bottom:1rem;font-size:.95rem;padding:.75rem;background:#b85c381a;border-radius:8px;border-left:4px solid var(--rust)}.square-payment-form{margin-top:1rem}.square-payment-form #square-card-container{min-height:120px;margin-bottom:1rem}.square-payment-form .pay-btn{width:100%;margin-top:.5rem;padding:.85rem 1.5rem}.square-payment-loading,.square-payment-error{padding:1.5rem;background:#c4a57426;border-radius:8px;margin-top:1rem}.square-payment-error .square-payment-hint{margin-top:.75rem;font-size:.85rem;color:var(--mocha)}.square-payment-error code{background:#0000000d;padding:.2em .4em;border-radius:4px}.btn{display:inline-block;padding:.85rem 1.75rem;background:var(--espresso);color:var(--cream);border-radius:10px;text-decoration:none;font-weight:500;font-size:1rem;transition:background .2s;border:none;cursor:pointer}.btn:hover{background:var(--mocha)}.btn-gold{background:var(--gold);color:var(--espresso)}.btn-gold:hover{background:var(--caramel);color:var(--warm-white)}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--mocha);text-decoration:none;font-size:.95rem;font-weight:500;margin-top:.5rem}.back-link:hover{color:var(--rust)}
