/* Pin Magic - payment page + forms. Builds on site.css / dashboard.css */
.pay{max-width:860px;margin:0 auto;padding-bottom:50px}
.pay h1{font-size:clamp(28px,4vw,38px);margin:22px 0 4px}
.pay .lead{color:var(--mut);margin:0 0 18px}
.pay .card{margin-top:16px;border-radius:24px;padding:24px 26px}
.pay h2{font-size:21px;margin:0 0 12px}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.opt{position:relative;display:block;padding:16px 18px;border-radius:18px;border:2px solid var(--line);background:var(--glass2);cursor:pointer;transition:.2s}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt b{display:block;font-size:16px}.opt span{display:block;color:var(--mut);font-size:13.5px;margin-top:3px}
.opt:has(input:checked){border-color:var(--red);box-shadow:0 0 0 4px rgba(232,19,43,.12)}
.opt:has(input:disabled){opacity:.45;cursor:not-allowed}
.opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.sum{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(232,19,43,.06);border:1px solid rgba(232,19,43,.18)}
.sum .amt{font:800 30px 'League Spartan',Inter,sans-serif;color:var(--red)}
.sum small{color:var(--mut);display:block}
.ack{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;cursor:pointer}
.ack input{width:auto;margin-top:3px}
.refbox{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:18px;border:2px dashed var(--red);background:rgba(232,19,43,.05)}
.refbox code{font:800 28px 'League Spartan',Inter,sans-serif;letter-spacing:.06em;color:var(--red)}
.dl{display:grid;grid-template-columns:150px 1fr auto;gap:8px 12px;align-items:center;margin:0;font-size:15px}
.dl dt{color:var(--mut)}.dl dd{margin:0;font-weight:600;word-break:break-all}
.cp{border:1px solid var(--line);background:var(--glass2);border-radius:10px;padding:5px 11px;font:600 12px Inter;cursor:pointer;color:var(--ink)}
.cp:hover{border-color:var(--red);color:var(--red)}
.steps{margin:14px 0 0;padding-left:20px;color:var(--ink);font-size:14.5px;display:grid;gap:6px}
.drop{display:block;margin-top:14px;padding:22px;border-radius:18px;border:2px dashed var(--line);text-align:center;cursor:pointer;color:var(--mut);transition:.2s}
.drop:hover,.drop:focus-within{border-color:var(--red);color:var(--ink)}
.drop input{display:block;margin:10px auto 0;max-width:100%}
.shot{display:none;margin-top:12px;max-height:260px;max-width:100%;border-radius:14px;border:1px solid var(--line)}
.warn{margin-top:14px;padding:12px 16px;border-radius:14px;font-size:14px;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.35)}
.bad{margin-top:14px;padding:12px 16px;border-radius:14px;font-size:14px;background:rgba(232,19,43,.09);border:1px solid rgba(232,19,43,.3)}
.pay .row2{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:560px){.dl{grid-template-columns:1fr auto}.dl dt{grid-column:1/-1;margin-top:6px}}
/* contact + subscribe forms */
.cf{display:grid;gap:12px;margin:18px 0 8px;padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--glass2)}
.cf label{display:block;font-weight:600;font-size:14px;margin:0 0 5px}
.cf input,.cf select,.cf textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:400 15px Inter;background:var(--card);color:var(--ink)}
.cf textarea{min-height:140px;resize:vertical}
.cf .hp,.nl .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
.cf .msg,.nlm{display:none}
.nlm{margin-top:8px;font-size:13px;padding:8px 12px;border-radius:12px}.nlm.ok{display:block;background:#16a34a18;color:var(--ok)}.nlm.err{display:block;background:#e8132b18;color:var(--bad)}
.nlc{margin:7px 4px 0;font-size:12px;color:var(--mut)}
/* admin extra */
.atabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.atabs button{padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:var(--glass2);color:var(--ink);font:600 14px Inter;cursor:pointer}
.atabs button.on{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.pview img{max-width:100%;max-height:70vh;border-radius:12px}
.mini{font-size:12px;color:var(--mut)}
.msgtext{white-space:pre-wrap;max-width:520px;word-break:break-word}
.big{font:800 34px 'League Spartan',Inter,sans-serif}
