.nsf-wrap{--nsf-color:#2563eb;max-width:720px;margin:24px auto;padding:28px;color:#1f2937;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.06);box-sizing:border-box;font-size:15px;line-height:1.5}
.nsf-wrap *,.nsf-wrap *::before,.nsf-wrap *::after{box-sizing:border-box}
.nsf-head{text-align:center;margin-bottom:22px}
.nsf-logo{display:block;margin:0 auto 12px;max-width:100%;height:auto;width:auto}
.nsf-title{margin:0 0 6px;font-size:1.5em;line-height:1.25;color:#111827}
.nsf-desc{color:#6b7280}
.nsf-desc p{margin:0 0 .6em}
.nsf-fields{display:flex;flex-wrap:wrap;gap:16px}
.nsf-field{min-width:0}
.nsf-full{width:100%}
.nsf-half{width:calc(50% - 8px)}
.nsf-label{display:block;font-weight:600;margin-bottom:6px;font-size:.93em;}
.nsf-req{color:#dc2626}
.nsf-field input[type=text],.nsf-field input[type=email],.nsf-field input[type=tel],.nsf-field input[type=number],.nsf-field input[type=date],.nsf-field select,.nsf-field textarea,.nsf-pay input[type=number]{width:100%;padding:11px 14px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:inherit;font:inherit;transition:border-color .15s,box-shadow .15s}
.nsf-field input:focus,.nsf-field select:focus,.nsf-field textarea:focus,.nsf-pay input:focus{outline:0;border-color:var(--nsf-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--nsf-color) 20%,transparent)}
.nsf-field input[type=file]{width:100%;padding:10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;font:inherit}
.nsf-options{display:flex;flex-direction:column;gap:8px}
.nsf-opt{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}
.nsf-opt input{width:18px;height:18px;accent-color:var(--nsf-color);flex:none}
.nsf-price{color:var(--nsf-color);font-size:.88em;font-weight:600}
.nsf-help,.nsf-file-hint{display:block;margin-top:5px;color:#6b7280;font-size:.85em}
.nsf-type-heading h3{margin:8px 0 2px;font-size:1.1em}
.nsf-type-heading p{margin:0;color:#6b7280}
.nsf-field.nsf-invalid input,.nsf-field.nsf-invalid select,.nsf-field.nsf-invalid textarea{border-color:#dc2626}
.nsf-hp{position:absolute!important;left:-9999px!important;height:0;width:0;overflow:hidden}
.nsf-pay{margin-top:20px;padding:16px;border-radius:12px;background:color-mix(in srgb,var(--nsf-color) 7%,#fff);border:1px solid color-mix(in srgb,var(--nsf-color) 25%,#fff)}
.nsf-pay .nsf-field{margin-bottom:12px}
.nsf-pay-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0}
.nsf-pay-row strong{font-size:1.15em}
.nsf-pay-row.nsf-muted{color:#6b7280;font-size:.92em}
.nsf-pay-row.nsf-muted strong{font-size:1em}
.nsf-pay-warn{margin:8px 0 0;color:#b91c1c;font-weight:600;font-size:.9em}
.nsf-actions{margin-top:22px}
.nsf-btn{width:100%;padding:13px 20px;border:0;border-radius:10px;background: linear-gradient(190deg, #94042f,#c03004, #fc059d);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:filter .15s,transform .05s}
.nsf-btn:hover{filter:brightness(1.08); background: linear-gradient(190deg, #aa4060,#923104, #b66597);}
.nsf-btn:active{transform:translateY(1px)}
.nsf-btn[disabled]{opacity:.55;cursor:not-allowed}
.nsf-msg{margin-top:16px;padding:12px 14px;border-radius:10px;font-weight:500}
.nsf-msg[hidden]{display:none}
.nsf-msg.nsf-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.nsf-msg.nsf-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.nsf-msg.nsf-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.nsf-notice{padding:10px 12px;background:#fff8e1;border-left:4px solid #f59e0b}
@media(max-width:600px){
  .nsf-wrap{margin:12px 0;padding:18px;border-radius:12px}
  .nsf-half{width:100%}
}
