.checkout-page{background:linear-gradient(180deg, var(--cream), #fff);padding:clamp(3.5rem,7vw,5.5rem) 0}.checkout-page__grid{grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:start;gap:2rem;display:grid}.checkout-page h1{color:var(--teal-900);font-size:clamp(2.3rem,5vw,3.7rem)}.checkout-note{color:var(--brown);max-width:62ch}.checkout-form,.checkout-summary{border:1px solid var(--line);background:#fff;border-radius:8px;padding:1.4rem;box-shadow:0 20px 60px -40px #0f3d4c66}.checkout-form{gap:1rem;margin-top:1.5rem;display:grid}.checkout-form h2,.checkout-summary h2{color:var(--teal-900);margin:.4rem 0}.checkout-form label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;gap:.35rem;font-size:.78rem;display:grid}.checkout-form input{border:1px solid var(--line);font:inherit;color:var(--ink);letter-spacing:0;text-transform:none;border-radius:6px;padding:.82rem .9rem}.checkout-form input:focus-visible{outline-offset:2px;outline:2px solid #1f778e52}.checkout-form input[aria-invalid=true]{background:#fff8f7;border-color:#b84c43;box-shadow:0 0 0 2px #b84c431a}.checkout-optional{color:var(--muted);letter-spacing:.08em;text-transform:none;font-size:.68rem}.checkout-label-line{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.checkout-field-error{color:#8b2c24;letter-spacing:0;text-transform:none;margin:0;font-size:.74rem;line-height:1.45}.checkout-field-error--terms{margin-top:-.55rem}.checkout-terms[data-invalid]{outline-offset:5px;border-radius:6px;outline:2px solid #b84c4338}.checkout-row{grid-template-columns:1fr 90px 120px;gap:1rem;display:grid}.checkout-form .checkout-terms{color:var(--ink);align-items:center;gap:.6rem;display:flex}.checkout-terms input{width:auto}.checkout-terms p{margin:0;font-size:.86rem;line-height:1.5}.checkout-form .checkout-terms label{color:var(--ink);font-size:inherit;letter-spacing:0;text-transform:none;display:inline}.checkout-policy-link{appearance:none;color:var(--teal-500);cursor:pointer;font:inherit;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.checkout-policy-link:hover{color:var(--teal-900)}.checkout-policy-link:focus-visible{outline:2px solid var(--teal-500);outline-offset:3px}.checkout-policy-modal{background:var(--cream);width:min(680px,100% - 1.5rem);max-height:min(86vh,820px);color:var(--ink);border:1px solid #0f3d4c26;border-radius:8px;padding:0;box-shadow:0 32px 100px -28px #0f3d4ca6}.checkout-policy-modal::backdrop{backdrop-filter:blur(4px);background:#0f2a2ea6}.checkout-policy-modal__inner{max-height:min(86vh,820px);padding:clamp(1.35rem,4vw,2.35rem);overflow-y:auto}.checkout-policy-modal header{padding-right:3rem;position:relative}.checkout-policy-modal h2{max-width:14ch;color:var(--teal-900);margin:.25rem 0 .15rem;font-size:clamp(2rem,5vw,3rem)}.checkout-policy-modal__version{color:var(--muted);margin:0 0 1.5rem;font-size:.8rem}.checkout-policy-modal article{border-top:1px solid var(--line);padding:1.15rem 0}.checkout-policy-modal article h3{color:var(--teal-900);margin:0 0 .45rem;font-size:1.35rem}.checkout-policy-modal article p{color:var(--brown);margin:0 0 .65rem;line-height:1.65}.checkout-policy-modal article p:last-child{margin-bottom:0}.checkout-policy-modal footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:1.25rem;display:flex}.checkout-policy-modal__close{border:1px solid var(--line);width:40px;height:40px;color:var(--teal-900);cursor:pointer;font:300 1.65rem/1 var(--font-body);background:#fff;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-.35rem;right:0}.square-card,.afterpay-container{border:1px solid var(--line);border-radius:6px;min-height:52px;padding:.8rem}.checkout-actions{flex-wrap:wrap;gap:.8rem;display:flex}.checkout-summary{position:sticky;top:110px}.summary-line,.checkout-total{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.checkout-total--grand{border-bottom:0;font-size:1.2rem}.checkout-summary__note{color:var(--muted);font-size:.84rem;line-height:1.55}.checkout-status{color:var(--teal-900);background:#eef9f5;border:1px solid #9ecbbf;border-radius:6px;padding:.8rem 1rem}.checkout-error,.checkout-square-warning{color:#8b2c24;background:#fff0ef;border:1px solid #f4c4bf;border-radius:6px;padding:.8rem 1rem}@media (width<=860px){.checkout-page__grid,.checkout-row{grid-template-columns:1fr}.checkout-summary{position:static}}
