body{background:#121212;color:#e0e0e0;font-family:Arial,sans-serif;margin:0;padding:0}.checkout-container{background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:24px;flex:1;min-width:300px}.checkout-container label{display:block;margin-top:12px;text-align:left}.checkout-container input{width:100%;padding:8px;margin-top:4px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#e0e0e0}.checkout-container input:focus{outline:none;border-color:#888}.checkout-container button{margin-top:20px;padding:10px 20px;background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer}.checkout-container button:hover{background:#5c6bc0}.checkout-container button:disabled{background:#555;cursor:not-allowed}.form{gap:24px;align-items:flex-start;flex-wrap:wrap;max-width:1000px;margin:40px auto}.form-and-summary{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;max-width:1200px;margin:40px auto}.estimated-summary{background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:16px;max-width:260px;flex:0 0 auto}.estimated-summary h4{margin:0 0 12px;font-size:1.1rem;border-bottom:1px solid #444;padding-bottom:4px}.estimated-summary .summary-line{display:flex;justify-content:space-between;gap:8px}.summary-line,.summary-total{display:flex;justify-content:space-between;margin-top:6px}.summary-total{border-top:1px solid #444;padding-top:8px;margin-top:12px;font-weight:700}.preference-checkbox-group{display:flex;flex-wrap:wrap;gap:.5em}.preference-checkbox-label{display:flex;align-items:center;gap:.4em;background:#2a2a2a;padding:.4em .6em;border-radius:4px;border:1px solid #444;font-size:.9em;color:#e0e0e0;cursor:pointer;min-width:4em}.preference-checkbox-label p{text-align:center}.preference-checkbox-label input[type=checkbox]{margin:0;accent-color:#4a90e2;transform:scale(1.4)}.confirmation{max-width:800px;margin:40px auto;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:24px;text-align:center}.confirmation h2{color:#4caf50}.confirmation-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding:12px;border:1px solid #333;border-radius:6px;background:#1a1a1a}.confirmation-item-image{width:100px;height:100px;object-fit:cover;border-radius:4px}.confirmation-item-details .item-title{margin:0;font-size:1.2rem;font-weight:700;color:#fff}.confirmation-item-details .item-quantity{margin:4px 0 8px;font-size:.9rem;color:#aaa}.confirmation-item-details .item-summary{margin:4px 0 8px;font-size:1rem;color:#aaa}.confirmation a{color:inherit;text-decoration:none;font:inherit}.confirmation-summary{margin-top:24px;padding-top:12px;border-top:1px solid #444}.confirmation-summary .summary-line{display:flex;justify-content:space-between;margin-top:6px}.confirmation-summary .summary-subtotal{display:flex;justify-content:space-between;margin-top:6px;font-weight:700}.confirmation-summary .summary-total{display:flex;justify-content:space-between;margin-top:12px;padding-top:8px;border-top:1px solid #555;font-weight:700}.error-screen{max-width:600px;margin:60px auto;background:#2a1a1a;color:#ffbaba;padding:24px;border-radius:8px;border:1px solid #6f1e1e;box-shadow:0 0 10px #ff00001a}.error-screen h2{color:#ff4c4c;margin-bottom:16px}.error-screen p{margin-bottom:16px;line-height:1.5}.error-screen ul{padding-left:16px;list-style:disc;color:#ffd6d6}.error-screen strong{color:#fff}.error-screen details{background:#1e1e1e;border:1px solid #444;border-radius:6px;padding:12px;margin-top:16px;font-size:.9rem;color:#ccc}.error-screen details summary{font-weight:700;cursor:pointer;color:#ff8080}.error-screen pre{margin-top:8px;background:#111;color:#eee;padding:12px;border-radius:4px;overflow-x:auto;font-size:.85rem}.error-screen button{margin-top:24px;padding:10px 20px;background:#ff4c4c;border:none;border-radius:4px;color:#fff;font-weight:700;cursor:pointer}.error-screen button:hover{background:#ff6b6b}.cart-review-page{background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:24px;max-width:800px;margin:40px auto;text-align:left}.cart-items{margin-bottom:32px}.cart-item-wrapper{position:relative;margin-bottom:24px}.cart-item{position:relative;display:flex;gap:16px;padding:12px 56px 12px 12px;border:1px solid #333;border-radius:6px;background:#1a1a1a}.cart-item-link{display:flex;align-items:flex-start;gap:16px;flex:1;color:inherit;text-decoration:none;font:inherit}.cart-item-image{width:100px;height:100px;object-fit:cover;border-radius:4px}.cart-item-details{flex:1}.cart-item-details p{margin:2px 0}.cart-item-details .item-title{margin:0;font-size:1.1rem;font-weight:600;color:#fff}.cart-item-details .item-quantity,.cart-item-details .item-summary{margin:4px 0;font-size:.9rem;color:#aaa}.remove-item-btn{position:absolute;top:8px;right:8px;padding:4px 10px;background:#4a90e2;border:none;border-radius:4px;color:#fff;font-size:.8rem;cursor:pointer}.remove-item-btn:hover{background:#5c6bc0}.cart-empty{margin:24px 0;color:#888;font-style:italic}.cart-summary{border-top:1px solid #444;padding-top:16px;margin-top:8px}.cart-summary .summary-line,.cart-summary .summary-subtotal,.cart-summary .summary-total{display:flex;justify-content:space-between;margin-top:6px}.cart-summary .summary-subtotal{font-weight:600}.cart-summary .summary-total{font-weight:700;border-top:1px solid #555;padding-top:8px}.cart-payment-form{margin-top:40px}.cart-payment-form label{display:block;margin-top:12px}.cart-payment-form input,.cart-payment-form .StripeElement{width:100%;padding:8px;margin-top:12px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#e0e0e0;box-sizing:border-box}.cart-payment-form .StripeElement--focus{border-color:#888}.cart-payment-form input:focus{outline:none;border-color:#888}.cart-payment-form button{margin-top:24px;padding:10px 20px;background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer}.cart-payment-form button:hover{background:#5c6bc0}.cart-payment-form button:disabled{background:#555;cursor:not-allowed}.add-items-button{display:block;margin:24px auto 0;padding:6px 16px;background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer}.add-items-button:hover{background:#5c6bc0}
