/* ============================================
   19. BUY MODAL
   ============================================ */
.sao-buy-modal{width:min(940px,calc(100vw - 32px));max-width:none;border:0;padding:0;margin:auto;background:transparent;color:var(--sa-text)}
.sao-buy-modal::backdrop{background:rgba(2,6,24,.72);backdrop-filter:blur(12px)}
.sao-buy-modal[open]{animation:sao-buy-fade .16s ease-out}
.sao-buy-modal-card{overflow:hidden;border-radius:var(--sa-radius-2xl);background:linear-gradient(180deg,rgba(19,25,52,.98),rgba(5,11,46,.98));border:1px solid rgba(143,224,61,.24);box-shadow:0 28px 90px rgba(0,0,0,.48)}
.sao-buy-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sa-space-4);padding:clamp(18px,3vw,28px);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 12% 0,rgba(143,224,61,.18),transparent 18rem)}
.sao-buy-modal-title-row{display:flex;align-items:center;gap:var(--sa-space-4);min-width:0}.sao-buy-modal-title-row h2{margin:2px 0 0;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1}.sao-buy-modal-title-row .sao-kicker{margin:0}.sao-buy-modal-icon{display:grid;place-items:center;width:46px;height:62px;flex:0 0 auto;filter:drop-shadow(0 0 16px rgba(143,224,61,.42))}.sao-buy-modal-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:var(--sa-text);cursor:pointer}.sao-buy-modal-close:hover{background:rgba(143,224,61,.16);color:var(--sa-plumbob)}.sao-buy-modal-close svg{width:22px;height:22px}
.sao-buy-modal-body{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:clamp(18px,3vw,32px);padding:clamp(18px,3vw,32px)}
.sao-buy-modal-art{min-height:260px;border-radius:var(--sa-radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden}.sao-buy-modal-art img{width:100%;height:100%;object-fit:contain;max-height:420px;padding:10px}.sao-buy-modal-links{display:grid;align-content:start;gap:var(--sa-space-4)}.sao-buy-modal-links>p{margin:0;color:var(--sa-text-muted);line-height:var(--sa-lh-relaxed)}
.sao-buy-link-list{display:grid;gap:var(--sa-space-3)}.sao-buy-link{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--sa-space-3);min-height:68px;padding:12px 14px;border-radius:var(--sa-radius-lg);text-decoration:none;color:var(--sa-text);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);transition:transform var(--sa-duration-base) var(--sa-ease),border-color var(--sa-duration-base) var(--sa-ease),background var(--sa-duration-base) var(--sa-ease)}.sao-buy-link:hover{transform:translateY(-2px);border-color:rgba(143,224,61,.45);background:rgba(143,224,61,.10);color:var(--sa-text)}.sao-buy-link-mark{width:22px;height:30px;display:inline-flex}.sao-buy-link-body{display:grid;gap:3px}.sao-buy-link-body strong{font-size:1rem;font-weight:950}.sao-buy-link-body small{font-size:.82rem;color:var(--sa-text-muted);font-weight:700}.sao-buy-link-arrow{font-size:1.2rem;color:var(--sa-plumbob);font-weight:900}.sao-buy-link--official{background:rgba(10,30,92,.86);border-color:rgba(143,224,61,.24)}
body.sao-buy-modal-open{overflow:hidden}
@keyframes sao-buy-fade{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:760px){.sao-buy-modal{width:calc(100vw - 18px)}.sao-buy-modal-body{grid-template-columns:1fr}.sao-buy-modal-art{min-height:180px;max-height:260px}.sao-buy-link{grid-template-columns:26px minmax(0,1fr) auto}.sao-buy-modal-header{align-items:flex-start}.sao-buy-modal-icon{width:34px;height:46px}}
@media (prefers-reduced-motion:reduce){.sao-buy-modal[open],.sao-buy-link{animation:none;transition:none}}
