#checkout .checkout-purchase-summary { text-align: left; }
#checkout .checkout-price-table .checkout-price { text-align: right; }
#checkout .checkout-price-table .checkout-product-description { white-space: normal; overflow-wrap: anywhere; }
#checkout .checkout-price-table .checkout-price-total td { font-weight: bold; font-size: 1.2em; border-top: 1px solid #ddd; }
#checkout table.checkout-price-table td { background: #fff; }
#checkout .checkout-purchase-summary table.checkout-price-table thead th { color: #0085ab !important; font-size: 15px; padding: 10px 5px 16px; }
#checkout .checkout-price-table th small { color: #12334a; font-size: 12px; font-weight: normal; }
#checkout .checkout-price-table .checkout-original-price td { color: #536879 !important; }
#checkout .checkout-price-table .checkout-discount-row td { background: #edf7ef; color: #216542 !important; }
#checkout .checkout-price-table .checkout-discount-row .checkout-price { font-size: 17px; }
#checkout .checkout-price-table .checkout-discount-row small { font-size: 11px; }
#checkout .checkout-price-table .checkout-price-total td { background: #eaf6fa; color: #12334a !important; }
#checkout .checkout-price-table .checkout-price-total .checkout-total-amount { font-size: 20px; }
#checkout .checkout-price-table .checkout-tax-included-heading { font-size: 11px; padding-bottom: 4px; padding-top: 12px; }
#checkout .checkout-price-table .checkout-tax-breakdown td { font-size: 11px; padding-top: 4px; padding-bottom: 4px; }
#checkout .checkout-tax-note { color: #666; font-size: .9em; white-space: normal; }
#checkout .checkout-edit { text-align: right; margin-top: 10px; }
#checkout .checkout-legal-document > summary { list-style: none; }
#checkout .checkout-legal-document > summary::-webkit-details-marker { display: none; }
#checkout .checkout-legal-document > summary::before { content: "\25BC"; margin-right: 4px; }
#checkout .checkout-document-text { box-sizing: border-box; overflow-wrap: anywhere; line-height: 1.5; }
#checkout .checkout-document-text h1 { font-size: 18px; }
#checkout .checkout-document-text h2 { font-size: 16px; }
#checkout .checkout-document-text h3 { font-size: 14px; }
#checkout .checkout-document-text table { width: 100%; border-collapse: collapse; }
#checkout .checkout-document-text th, #checkout .checkout-document-text td { border: 1px solid #ccc; padding: 5px; }
#checkout .checkout-document-actions { margin-bottom: 12px; }
#checkout .checkout-document-actions a { text-decoration: underline; }
#checkout .checkout-confirmations { min-width: 0; margin: 25px 0 0; }
#checkout .checkout-confirmations label { cursor: pointer; overflow-wrap: anywhere; }
#checkout .checkout-confirmations input:focus-visible,
#checkout .checkout-legal-document summary:focus-visible,
#checkout .checkout-document-text:focus-visible { outline: 2px solid #1583ae; outline-offset: 3px; }
#checkout .checkout_buttons input:disabled { opacity: .55; cursor: not-allowed; }
#checkout .checkout-confirmed { color: #246047; }
@media (max-width: 640px) {
    #checkout.checkout-legal-review .review-main,
    #checkout.checkout-legal-review .review-legal { min-width: 0; flex-basis: 100%; }
    #checkout .address-row { gap: 8px; flex-wrap: wrap; }
    #checkout .address-row .value { overflow-wrap: anywhere; }
    #checkout .checkout-price-table { display: block; }
    #checkout .checkout-price-table thead { display: table; width: 100%; }
    #checkout .checkout-price-table tbody { display: block; }
    #checkout .checkout-price-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) max-content; }
    #checkout .checkout-price-table .checkout-product-description,
    #checkout .checkout-price-table .checkout-tax-included-heading,
    #checkout .checkout-price-table .checkout-tax-note { grid-column: 1 / -1; }
    #checkout .checkout-price-table td { min-width: 0; padding: 10px 5px; overflow-wrap: anywhere; }
    #checkout.checkout-legal-review .checkout_buttons > div { float: none; width: 100%; margin: 10px 0; }
    #checkout.checkout-legal-review .checkout_buttons input { max-width: 100%; min-width: 0 !important; width: 100%; box-sizing: border-box; transform: none; white-space: normal; padding: 14px 10px !important; }
}
