
/* Purchase Modal */
.pmodal{position:fixed; inset:0; display:none; place-items:center; z-index:1002; font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.pmodal[aria-hidden="false"]{display:grid}
.pmodal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(2px)}
.pmodal__dialog{position:relative; background:var(--card); color:var(--text);
  width:min(760px,94vw); max-height:92vh; overflow:auto; border-radius:var(--radius);
  box-shadow:var(--shadow); padding:clamp(16px,2.6vw,28px); border:1px solid rgba(255,255,255,.08)}
.pmodal__close{position:absolute; right:10px; top:10px; width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background:transparent; color:var(--text); cursor:pointer; font-size:26px; line-height:1}
.pmodal__close:hover{background:rgba(255,255,255,.06)}
.pmodal__header{margin-bottom:12px}
.pmodal__title{margin:0 0 6px; font-size:clamp(20px,2.1vw,26px); font-weight:800}
.pmodal__subtitle{margin:0; color:var(--muted); font-size:14px}
.pmodal__program{margin-top:6px}
.pmodal__program a{color:var(--text); text-decoration:underline}
.pmodal__form{margin-top:8px}
.pmodal__grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px}
.pmodal__field{display:grid; gap:6px}
.pmodal__field--wide{grid-column:1 / -1}
.pmodal__label{font-weight:700; font-size:13px; color:var(--text)}
.pmodal__req{color:var(--accent); margin-left:4px}
.pmodal__input{width:100%; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:#0b1a2c; color:var(--text); font-size:14px}
.pmodal__input:focus{outline:2px solid rgba(201,183,156,.35); border-color:var(--accent)}
.pmodal__actions{margin-top:12px; display:flex; gap:10px; justify-content:flex-end}
.pmodal__error{color:#ff7a7a; font-size:12px; min-height:14px}
.pmodal__status{margin-top:6px; font-size:14px; color:var(--muted)}
@media (max-width: 640px){
  .pmodal__dialog{width:100vw; height:100vh; max-height:100vh; border-radius:0; display:flex; flex-direction:column; padding:16px}
  .pmodal__grid{grid-template-columns:1fr}
  .pmodal__actions{position:sticky; bottom:0; background:var(--card); padding-top:8px}
}
