/* Base wrapper and grid */
.modcf-wrap{ --gap:12px; --col-a:50%; --col-b:50%; --input-h:48px; }
.modcf-form{ display:grid; gap:var(--gap); }
.modcf-form .row{ display:grid; gap:var(--gap); }
.modcf-form .row.two{ grid-template-columns: var(--col-a) var(--col-b); }
.modcf-form .row.one{ grid-template-columns: 1fr; }
.field{ display:grid; gap:6px; }
label{ font-weight:600; color:#111827; }
.input, .textarea{ width:100%; height:var(--input-h); border:1px solid #e5e7eb; border-radius:12px; padding:0 12px; font-size:16px; }
.textarea{ height:auto; padding:12px; min-height:120px; border-radius:14px; }
.err{ display:none; color:#b91c1c; font-size:.85rem; }
.input.invalid, .textarea.invalid{ border-color:#b91c1c; }
.btn{ background:#111827; color:#fff; border:0; border-radius:999px; padding:0 18px; height:48px; font-weight:700; cursor:pointer; }
.modcf-note.success{ border-left:4px solid #16a34a; background:#ecfdf5; padding:12px 14px; border-radius:8px; margin-bottom:12px; }
@media (max-width:980px){ .modcf-form .row.two{ grid-template-columns:1fr; } }
