.checkout-dialog { box-sizing: border-box; width: min(520px, calc(100% - 28px)); padding: 32px; border: 1px solid #d8d8d0; border-radius: 20px; background: #f8f8f2; color: #191a18; max-height: calc(100dvh - 32px); overflow-y: auto; }
.checkout-dialog::backdrop { background: rgb(0 0 0 / 60%); }
.checkout-dialog h2 { font-size: clamp(26px, 6vw, 34px); line-height: 1.1; margin: 12px 0 20px; }
.checkout-close { float: right; border: 0; background: transparent; color: #191a18; font-size: 32px; cursor: pointer; padding: 0 8px; }
.checkout-product { font-size: 20px; font-weight: 700; margin-bottom: 24px; }
.checkout-form label { display: block; font-size: 15px; }
.checkout-form label > span { color: #595a53; }
.checkout-form input[type=email] { box-sizing: border-box; width: 100%; padding: 15px; border: 1px solid #aaa; border-radius: 8px; font: inherit; margin: 10px 0; background: white; }
.checkout-note { font-size: 13px; line-height: 1.5; color: #595a53; margin-bottom: 20px; }
.checkout-form .checkout-terms { display: flex; gap: 10px; line-height: 1.5; }
.checkout-terms input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: #e84b20; }
.checkout-terms a { text-decoration: underline; }
.checkout-form .button { width: 100%; margin-top: 10px; }
.checkout-error { color: #a2280b; font-size: 14px; line-height: 1.4; margin-top: 16px; }
.checkout-test { padding: 10px; background: #ffe4bc; border-radius: 6px; margin-bottom: 20px; }
[hidden] { display: none !important; }
@media (max-width: 420px) { .checkout-dialog { padding: 24px 20px; } }
