.commerce { max-width: 52rem; margin: 1.5rem auto; padding: 1rem; overflow-wrap: anywhere; }
.commerce h1 { font-size: 1.65rem; line-height: 1.35; }
.commerce label, .purchase-contract label { display: block; margin-block: 1rem; }
.commerce input:not([type=hidden]):not([type=checkbox]), .commerce textarea, .commerce select { box-sizing: border-box; max-width: 100%; }
.commerce button, .commerce a { min-height: 2.75rem; }
.commerce pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.purchase-contract { margin-block: 1rem; overflow-wrap: anywhere; }
.purchase-contract details { padding-block: .75rem; }
.legal-page { overflow-wrap: anywhere; }
.legal-page table { width: 100%; border-collapse: collapse; }
.legal-page th, .legal-page td { padding: .4rem; text-align: start; border-bottom: 1px solid #d4d9df; }
.legal-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; justify-content: center; }

.legal-page td bdi { white-space: nowrap; }
.purchase-journey { max-width:760px; margin-inline:auto; }
.purchase-billing-form { display:grid; gap:16px; }
.purchase-billing-form label { display:grid; gap:6px; font-weight:600; }
.purchase-billing-form :is(input:not([type=checkbox]),select) { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #687e77; border-radius:10px; font:inherit; }
.purchase-billing-form .purchase-confirm { display:flex; align-items:flex-start; gap:12px; line-height:1.6; }
.purchase-confirm input { width:24px; height:24px; flex-shrink:0; }
.purchase-price { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.purchase-price dd { margin:0; }
.purchase-entry { padding-block:18px; border-block-start:1px solid #d8e4de; }
.purchase-journey :is(button,.btn-link),.purchase-entry .btn-link { min-height:48px; white-space:normal; }
.purchase-journey :is(p,a,dd) { overflow-wrap:anywhere; }
.purchase-journey :focus-visible { outline:3px solid #17644e; outline-offset:3px; }

.purchase-navigation { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; border-block-start:1px solid #d8e4de; }
.purchase-navigation a { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.purchase-seller { overflow-wrap:anywhere; }

.purchase-seller-disclosure summary { cursor:pointer; min-height:44px; padding-block:.6rem; }
.purchase-seller-disclosure summary:focus-visible { outline:3px solid #17644e; outline-offset:3px; }
