.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;border-top:4px solid var(--blue)}
.pcard h3{margin-bottom:12px}.pcard label{display:block;margin:10px 0;font-weight:600;color:var(--cream)}
.pcard input,.pcard select,.pcard textarea{display:block;width:100%;margin-top:6px;padding:11px;border-radius:10px;border:1px solid var(--line);background:#0a1020;color:var(--text);font:inherit}
.muted{color:var(--muted)}.small{font-size:.85rem}
.quote{margin-top:14px;padding:14px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid var(--line)}
.amt{font-size:1.3rem;margin:6px 0}.amt b{color:var(--gold);font-size:1.6rem}
.warn{background:rgba(215,38,61,.2);border:2px solid var(--red);border-radius:12px;padding:14px;font-weight:900;font-size:1.1rem;margin-bottom:14px}
.kv{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;margin:10px 0}
.kv span{color:var(--muted);font-size:.85rem}.kv code{font-size:1.05rem;font-weight:800;overflow-wrap:anywhere;color:var(--text)}
.kv code.big{font-size:1.7rem;color:var(--gold)}
.mini{background:var(--navy);border:1px solid var(--glow);color:var(--glow);border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer}
.qr{background:#fff;border-radius:12px;padding:10px;width:max-content;margin:14px auto}.qr img{display:block;width:220px;height:220px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.fgrid .wide{grid-column:1/-1}
.vres{margin:12px 0;font-weight:800}.vres.ok{color:#3ddc84}.vres.bad{color:#ff6b6b}
#pay .btn{border:0;cursor:pointer;margin:6px 10px 6px 0}#pay .btn-ghost{border:2px solid var(--glow);background:none}
.prices{margin-top:10px;font-size:1.05rem}.prices s{color:var(--muted)}.prices b{color:var(--gold)}
@media(max-width:600px){.kv{grid-template-columns:1fr auto}.kv span{grid-column:1/-1}}
.prodgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:78vh;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:12px}
@media(min-width:700px){.prodgrid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1050px){.prodgrid{grid-template-columns:repeat(4,1fr)}}
.prodcard{display:flex;flex-direction:column;gap:4px;background:#0a1020;border:2px solid var(--line);border-radius:12px;padding:8px;font-size:.9rem}
.prodcard img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#fff}
.prodcard b{line-height:1.2}.prodcard .pr s{color:var(--muted);margin-right:6px}.prodcard .pr b{color:var(--gold)}
.prodcard .mini{margin-top:auto}.prodcard.sel{border-color:var(--gold);box-shadow:0 0 0 2px rgba(215,170,60,.4)}
.prodcard.custom{margin-top:10px;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.prodcard.custom .ph{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--navy);font-weight:900}
.selwrap{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:700px){.selwrap{grid-template-columns:minmax(220px,1fr) 1.2fr}}
.selimg{width:100%;border-radius:12px;background:#fff;aspect-ratio:1;object-fit:cover}.selname{font-weight:800;font-size:1.15rem}
.summary{display:flex;gap:12px;align-items:center;margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0a1020}.summary img{width:84px;height:84px;object-fit:cover;border-radius:8px;background:#fff}
#pay [hidden]{display:none!important}
/* RLUSD currency toggle */
.curtog{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.curbtn{flex:1;min-width:90px;padding:12px;border-radius:10px;border:2px solid #33456b;background:#0b1222;color:#e8edf7;font-weight:800;font-size:1.05rem;cursor:pointer}
.curbtn.sel{border-color:var(--gold);background:rgba(215,170,60,.15)}
.curbtn:disabled{opacity:.45;cursor:not-allowed}
.rlinfo{border:1px solid #3b82f6;background:rgba(59,130,246,.1);border-radius:12px;padding:12px;margin-bottom:12px;font-size:.95rem;word-break:break-word}
/* keep the QR clear of the fixed music player on phones */
@media (max-width:700px){.qr{margin-bottom:150px}.qr img{max-width:100%;height:auto}}
