/* Shared checkout card, enhanced into a native accessible modal on pricing. */
.purchase-page { padding-top:64px; padding-bottom:72px; }
.panel.purchase-panel { position:relative; overflow:hidden; width:100%; max-width:620px; padding:30px; border:1px solid rgba(147,165,219,.28); border-radius:26px; background:radial-gradient(ellipse at 0 0,rgba(89,121,213,.15),transparent 65%),radial-gradient(ellipse at 100% 0,rgba(163,110,199,.09),transparent 55%),#11131d; box-shadow:0 24px 80px rgba(0,0,0,.24); }
.purchase-panel::before { content:""; position:absolute; left:24px; right:24px; top:0; height:1px; background:linear-gradient(90deg,transparent,#b7c7f2 35%,#c69bc6 65%,transparent); opacity:.65; }
.purchase-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:26px; }
.purchase-eyebrow { margin:0 0 8px; color:#91a2cc; font-size:10px; letter-spacing:1.7px; font-weight:650; }
.purchase-header h1 { margin:0; color:#f1f3fc; font-size:30px; letter-spacing:-.8px; }
.purchase-header-actions { display:flex; align-items:center; gap:16px; padding-top:3px; }
.purchase-languages { display:flex; align-items:center; gap:7px; font-size:11px; color:#58617b; }
.purchase-languages a { padding:6px 3px; color:#929cb7; text-decoration:none; }
.purchase-languages a[aria-current=true] { color:#e2e8f8; }
.purchase-languages a:hover { color:#fff; }
.purchase-close { display:none; align-items:center; justify-content:center; width:32px; height:32px; min-height:32px; padding:0; border:1px solid rgba(149,167,215,.18); border-radius:11px; background:rgba(255,255,255,.035); color:#b1bad2; font-size:21px; cursor:pointer; }
.purchase-close:hover { color:#fff; background:rgba(151,166,214,.11); border-color:rgba(169,185,236,.4); }
.purchase-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; margin-bottom:18px; border:1px solid rgba(133,155,215,.19); border-radius:18px; background:linear-gradient(110deg,rgba(103,134,216,.095),rgba(163,121,180,.045)); }
.purchase-product { display:flex; align-items:center; gap:13px; min-width:0; }
.purchase-product img { flex:none; border-radius:12px; }
.purchase-product strong { display:block; font-size:18px; letter-spacing:-.3px; color:#ecf0fc; }
.purchase-product span { display:block; margin-top:5px; color:#a1aecb; font-size:12px; }
.purchase-total { flex:none; text-align:right; }
.purchase-total span { display:block; color:#95a1bf; font-size:10px; margin-bottom:5px; }
.purchase-total strong { color:#f0f3fd; font-size:27px; letter-spacing:-.8px; white-space:nowrap; }
.purchase-features.note { padding:16px 18px; margin:0 0 22px; border-radius:14px; background:rgba(12,14,23,.4); border-color:rgba(144,161,205,.10); color:#aeb9d3; font-size:13px; line-height:1.65; }
.purchase-features p { margin:0; }
.purchase-features p+p { margin-top:8px; color:#92a0bc; font-size:12px; }
.purchase-panel .purchase-pay { display:flex; align-items:center; justify-content:center; gap:12px; min-height:50px; border-radius:14px; font-size:14px; font-weight:650; background:linear-gradient(110deg,#839ed5,#a08eca); box-shadow:0 7px 24px rgba(104,129,194,.14),inset 0 1px rgba(255,255,255,.2); }
.purchase-pay span { color:rgba(14,20,40,.7); }
.purchase-panel .btn.wide { margin-top:0; }
.purchase-method { margin:14px 0 0; color:#8190af; text-align:center; line-height:1.6; font-size:11px; }
.purchase-bottom { padding-top:22px; margin-top:22px; border-top:1px solid rgba(148,166,212,.12); }
.purchase-bottom .btn { min-height:42px; border-radius:13px; font-size:13px; }
.purchase-bottom p { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:9px; margin:17px 0 0; color:#59637d; font-size:10px; }
.purchase-bottom p a { color:#8794b4; text-decoration:none; }
.purchase-bottom p a:hover { color:#d5dff8; }
.purchase-unavailable.err { margin:0 0 20px; padding:15px 17px; border-radius:14px; border-color:rgba(170,145,211,.3); color:#cdbfe5; background:linear-gradient(110deg,rgba(130,115,193,.13),rgba(153,105,135,.07)); }
.purchase-unavailable p { margin:0; font-size:13px; }
.purchase-unavailable p+p { margin-top:7px; color:#a69dba; font-size:11px; line-height:1.6; }
.purchase-modal-open { overflow:hidden; }
.purchase-dialog { width:min(620px,calc(100vw - 32px)); max-width:620px; max-height:calc(100dvh - 48px); padding:0; margin:auto; border:0; border-radius:26px; background:transparent; color:#e7edff; overflow:auto; overscroll-behavior:contain; box-shadow:0 30px 120px rgba(0,0,0,.6),0 0 75px rgba(96,122,202,.09); scrollbar-width:thin; scrollbar-color:#414963 #11131d; }
.purchase-dialog::backdrop { background:rgba(4,6,13,.7); backdrop-filter:blur(9px); animation:purchase-backdrop-in .25s ease both; }
.purchase-dialog[open] { animation:purchase-dialog-in .28s cubic-bezier(.2,.8,.2,1) both; }
.purchase-dialog .purchase-panel { margin:0; max-width:none; box-shadow:none; }
.purchase-dialog .purchase-close { display:flex; }
.purchase-dialog.is-closing { animation:purchase-dialog-out .18s ease both; }
.purchase-dialog.is-closing::backdrop { animation:purchase-backdrop-out .18s ease both; }
.purchase-dialog [role=alert] { animation:purchase-notice-in .22s ease both; }
.purchase-dialog :focus-visible { outline:2px solid #a9bcf2; outline-offset:4px; }
.purchase-dialog h1:focus,.purchase-dialog [role=alert]:focus { outline:none; }
[data-purchase-loading]::after,[data-purchase-busy]::after { content:""; display:inline-block; flex:none; width:11px; height:11px; margin-left:7px; border:1.5px solid currentColor; border-right-color:transparent; border-radius:50%; animation:purchase-spin .65s linear infinite; vertical-align:middle; }
@keyframes purchase-spin { to { transform:rotate(360deg); } }
@keyframes purchase-dialog-in { from { opacity:0; transform:translateY(18px) scale(.975); } to { opacity:1; transform:none; } }
@keyframes purchase-dialog-out { to { opacity:0; transform:translateY(10px) scale(.985); } }
@keyframes purchase-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes purchase-backdrop-out { to { opacity:0; } }
@keyframes purchase-notice-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media (max-width:540px) { .purchase-page { padding-top:35px; } .panel.purchase-panel { padding:23px 20px; border-radius:22px; } .purchase-header { gap:12px; margin-bottom:22px; } .purchase-header h1 { font-size:25px; } .purchase-header-actions { gap:10px; } .purchase-summary { gap:12px; padding:16px 14px; } .purchase-product { gap:10px; } .purchase-product img { width:37px; height:37px; } .purchase-product strong { font-size:16px; } .purchase-total strong { font-size:23px; } .purchase-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 28px); border-radius:22px; } }
@media (prefers-reduced-motion:reduce) { .purchase-dialog[open],.purchase-dialog.is-closing,.purchase-dialog::backdrop,.purchase-dialog.is-closing::backdrop,.purchase-dialog [role=alert] { animation:none; } }
