.action-dialog { max-width: 480px; }
.action-dialog-body { padding: 30px; text-align: center; }
.action-dialog-body h2 { font-size: 26px; margin: 8px 0 16px; }
.action-dialog-body > p { font-size: 13px; }
.action-dialog-body .button { width: 100%; margin-top: 22px; justify-content: center; }
.action-dialog-body .text-link { display: inline-flex; margin-top: 22px; }
.action-dialog-body .fine-print { margin-top: 14px; font-size: 11px; color: var(--muted); }
.line-qr { display: block; margin: 22px auto 10px; background: white; border-radius: 8px; }
.qr-caption { color: var(--muted); font-size: 11px !important; }
.line-button { background: #067d3b; color: white; }
.line-button:hover { background: #05642f; }
.selected-plan { padding: 12px; margin-top: 15px; background: var(--green-soft); border-radius: 5px; }
[hidden] { display: none !important; }


@media (max-width: 480px) { .action-dialog-body { padding: 24px 20px; } .action-dialog-body h2 { font-size: 23px; } .header-cta { font-size: 11px; } }
.checkout-terms { margin-top: 24px; padding: 18px; border: 1px solid #cbd4c9; border-radius: 8px; text-align: left; background: #f7f8f3; }
.checkout-terms > a { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; font-size: 14px; }
.checkout-terms p { font-size: 12px; margin: 10px 0; color: var(--muted); }
.agreement-label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; cursor: pointer; }
.agreement-label input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: #254f43; }
#checkout-link[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.action-dialog { width: calc(100% - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; }
.terms-page { max-width: 800px; padding: 60px 24px 90px; margin: auto; }
.terms-page h1 { font-size: 32px; margin: 16px 0; }
.terms-page h2 { font-size: 21px; margin: 30px 0 12px; }
.terms-page p, .terms-page li { font-size: 15px; line-height: 1.9; }
.terms-page ul { padding-left: 24px; }
.terms-page a { text-decoration: underline; text-underline-offset: 3px; }
.terms-draft { padding: 18px; background: #f4eddb; border-left: 3px solid #96773d; }
