

.checkout-confirm { box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 28px 24px; border: 0; border-radius: 20px; background: #fffaf3; color: #382a22; box-shadow: 0 18px 60px #30241c26; font: inherit; overflow-y: auto; }
.checkout-confirm::backdrop { background: #30241c70; }
.checkout-confirm h2 { margin: 0 0 22px; font: inherit; font-size: 26px; line-height: 1.3; font-weight: 700; }
.checkout-summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-block: 1px solid #e5d6c8; }
.checkout-summary strong, .checkout-summary span { display: block; }
.checkout-summary strong { font-size: 16px; font-weight: 600; }
.checkout-summary span { margin-top: 6px; font-size: 14px; color: #705c4f; }
.checkout-summary b { color: #aa4c2e; font-size: 29px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.checkout-confirm p { margin: 18px 0; color: #705c4f; font-size: 14px; line-height: 1.75; }
.checkout-confirm .checkout-error { color: #a12532; }
.checkout-confirm button { box-sizing: border-box; width: 100%; min-height: 50px; padding: 12px 16px; border-radius: 12px; font: inherit; font-weight: 600; cursor: pointer; }
.checkout-primary { border: 1px solid #a95330; background: #a95330; color: #fff; }
.checkout-primary:hover { background: #934426; }
.checkout-cancel { margin-top: 12px; border: 1px solid #dbcaba; background: transparent; color: #49382d; }
.checkout-cancel:hover { background: #f5ecdf; }
.checkout-confirm button:disabled { cursor: wait; opacity: .65; }
.checkout-confirm :focus-visible { outline: 3px solid #78472d; outline-offset: 3px; }
.checkout-confirm ::selection { background: #eed0bc; color: #382a22; }
.checkout-qr { display: block; width: 220px; max-width: 100%; margin: 16px auto; }
.checkout-order-link { display: block; margin-top: 16px; text-align: center; color: #78472d; font-size: 14px; text-underline-offset: 3px; }
.order-page .payment-summary { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-block: 12px; }
.order-page .payment-summary strong { color: #a95330; font-size: 30px; white-space: nowrap; }
.order-page .payment-meta { margin-top: 24px; padding-top: 16px; border-top: 1px solid #e5d6c8; color: #705c4f; font-size: 14px; }
.order-page .payment-meta summary { cursor: pointer; padding-block: 8px; }
.order-page .payment-meta dd { overflow-wrap: anywhere; margin-left: 0; }
.order-page .payment-meta dt { margin-top: 12px; }
.order-page .payment-actions { display: grid; gap: 12px; margin-block: 24px; }
