/* Scoped native top-layer payment panel; Stripe owns its secure inner form. */
.ready-embedded-dialog { width:min(640px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(var(--ready-payment-height,100dvh) - 32px); padding:0; margin:auto; border:1px solid var(--line,#d7e1ed); border-radius:12px; background:#fff; color:var(--ink,#102745); box-shadow:0 20px 80px #0005; overflow:hidden; }
.ready-embedded-dialog[open] { display:flex; flex-direction:column; }
.ready-embedded-dialog::backdrop { background:rgb(10 24 44 / .65); }
.ready-embedded-dialog [hidden] { display:none!important; }
.ready-embedded-header { display:flex; align-items:center; justify-content:space-between; flex:none; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line,#d7e1ed); }
.ready-embedded-header h2 { margin:0; font-size:23px; line-height:1.2; }
.ready-embedded-header button { width:44px; height:44px; min-height:44px; padding:0; border:0; background:transparent; color:inherit; font-size:30px; line-height:1; }
.ready-embedded-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:16px; }
.ready-embedded-body [role=status] { margin:0 0 12px; font-size:14px; }
.ready-embedded-body [role=alert] { padding:12px; margin-bottom:12px; border:1px solid #bf3d3d; background:#fff5f5; border-radius:6px; color:#861c1c; font-size:14px; }
.ready-embedded-recovery { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 16px; padding-top:12px; }
.ready-embedded-recovery button { min-height:44px; padding:8px 4px; border:0; background:transparent; color:var(--ink,#102745); font-size:13px; text-decoration:underline; }
.ready-embedded-dialog button:focus-visible { outline:3px solid #2875ce; outline-offset:2px; }
.ready-embedded-dialog button:disabled { opacity:.5; cursor:wait; }
@media(max-width:600px) {
 .ready-embedded-dialog { inset:var(--ready-payment-top,0px) 0 auto; width:100vw; max-width:100vw; height:var(--ready-payment-height,100dvh); max-height:var(--ready-payment-height,100dvh); margin:0; border:0; border-radius:0; }
 .ready-embedded-body { flex:1; padding:12px; padding-bottom:max(12px,env(safe-area-inset-bottom)); }
}
