.nclp-form-shell{--nclp-text:#1f2937;--nclp-muted:#64748b;max-width:760px;margin:32px auto;padding:clamp(22px,4vw,42px);background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 18px 50px rgba(15,23,42,.09);color:var(--nclp-text);font-family:inherit}
.nclp-form-heading{margin-bottom:26px}.nclp-form-heading h2{margin:0 0 8px;color:var(--nclp-primary);font-size:clamp(24px,3vw,32px);line-height:1.2}.nclp-form-heading p{margin:0;color:var(--nclp-muted);line-height:1.6}
.nclp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nclp-field{min-width:0}.nclp-field:has(textarea),.nclp-field:has(select){grid-column:1/-1}.nclp-field label{display:block;margin-bottom:7px;font-size:14px;font-weight:650;color:var(--nclp-text)}
.nclp-field input,.nclp-field textarea,.nclp-field select{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;font:inherit;transition:border-color .18s,box-shadow .18s,background .18s}
.nclp-field textarea{resize:vertical;min-height:120px}.nclp-field input:focus,.nclp-field textarea:focus,.nclp-field select:focus{outline:none;border-color:var(--nclp-primary);box-shadow:0 0 0 3px rgba(22,50,79,.12)}
.nclp-required-mark{color:#b91c1c}.nclp-submit-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 22px;border:1px solid var(--nclp-primary);border-radius:10px;background:var(--nclp-primary);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.nclp-submit-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(22,50,79,.2);background:#0f263d}.nclp-submit-button span{font-size:20px}
.nclp-message{padding:13px 16px;border-radius:10px;margin:16px 0}.nclp-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.nclp-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.nclp-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:600px){.nclp-form-shell{margin:20px 0;padding:22px 18px;border-radius:14px}.nclp-form{grid-template-columns:1fr;gap:15px}.nclp-field:has(textarea),.nclp-field:has(select),.nclp-submit-button{grid-column:1}}


/* v0.3.0: configurable form layouts and templates */
.nclp-form-layout{--nclp-primary:#16324f;--nclp-accent:#d6a84f;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:clamp(24px,4vw,60px);align-items:center;max-width:1180px;margin:36px auto;color:#fff}
.nclp-form-layout .nclp-form-shell{box-sizing:border-box;width:100%;max-width:none;margin:0;border-color:var(--nclp-accent);border-radius:16px}
.nclp-form-side{padding:20px 0}.nclp-eyebrow{display:inline-block;font-size:11px;letter-spacing:.24em;font-weight:700;margin-bottom:18px;color:var(--nclp-accent)}
.nclp-form-side h2{font-size:clamp(32px,4.5vw,58px);line-height:1.08;margin:0 0 18px;color:inherit}.nclp-form-side p{font-size:16px;line-height:1.8;color:inherit;opacity:.82}
.nclp-form-layout.nclp-bg-dark .nclp-form-shell{background:#222;color:#fff;border-color:var(--nclp-accent);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.nclp-bg-dark .nclp-form-heading h2,.nclp-bg-dark .nclp-field label{color:#fff}
.nclp-bg-dark .nclp-form-heading p{color:#cbd5e1}
.nclp-bg-dark .nclp-field input,.nclp-bg-dark .nclp-field textarea,.nclp-bg-dark .nclp-field select{background:#141414;border-color:#444;color:#fff}
.nclp-bg-dark .nclp-submit-button{background:var(--nclp-accent);border-color:var(--nclp-accent);color:#111}
.nclp-bg-light .nclp-form-shell{background:#fff}
.nclp-template-modern .nclp-form-shell{border-radius:24px;box-shadow:0 20px 55px rgba(15,23,42,.13)}
.nclp-template-premium .nclp-form-shell{border-radius:14px}
.nclp-form.nclp-layout-one{grid-template-columns:minmax(0,1fr)}
.nclp-form-layout .nclp-submit-button{grid-column:1/-1}
.nclp-form-layout .nclp-submit-button:hover{background:var(--nclp-primary);color:#fff}
.nclp-bg-dark .nclp-submit-button:hover{background:#f0c66c;color:#111}
@media(max-width:760px){.nclp-form-layout{grid-template-columns:1fr;gap:18px;margin:20px auto}.nclp-form-side{padding:8px 0}.nclp-form-side h2{font-size:36px}.nclp-form-layout .nclp-form-shell{padding:24px 18px}}
