#abc-cf-form-js-extra { display: none !important; } .abc-cf-wrap {
max-width: 780px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
color: #222;
} .abc-cf-intro {
margin-bottom: 28px;
}
.abc-cf-intro h2 {
font-size: 1.9em;
font-weight: 700;
margin: 0 0 10px;
color: #111;
}
.abc-cf-intro p {
font-size: 1em;
color: #555;
line-height: 1.6;
} .abc-cf-form {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 10px;
padding: 36px 40px;
box-shadow: 0 2px 12px rgba(0,0,0,.06);
} .abc-cf-row { margin-bottom: 0; }
.abc-cf-two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0 24px;
}
@media (max-width: 620px) {
.abc-cf-two-col { grid-template-columns: 1fr; }
.abc-cf-form    { padding: 24px 18px; }
} .abc-cf-field {
margin-bottom: 20px;
}
.abc-cf-field label {
display: block;
font-size: .875em;
font-weight: 600;
margin-bottom: 5px;
color: #374151;
}
.abc-cf-hint {
font-weight: 400;
color: #888;
font-size: .82em;
}
.abc-cf-field input[type="text"],
.abc-cf-field input[type="email"],
.abc-cf-field input[type="tel"],
.abc-cf-field textarea {
width: 100%;
padding: 10px 13px;
border: 1px solid #cbd5e1;
border-radius: 6px;
font-size: 1em;
background: #f9fafb;
transition: border-color .15s, box-shadow .15s;
box-sizing: border-box;
}
.abc-cf-field input:focus,
.abc-cf-field textarea:focus {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59,130,246,.18);
background: #fff;
}
.abc-cf-field textarea { resize: vertical; min-height: 130px; }
.abc-cf-req { color: #e53e3e; margin-left: 2px; } .abc-cf-dropzone {
border: 2px dashed #94a3b8;
border-radius: 8px;
padding: 28px 20px;
text-align: center;
cursor: pointer;
background: #f8fafc;
transition: border-color .15s, background .15s;
}
.abc-cf-dropzone:hover,
.abc-cf-dropzone:focus,
.abc-cf-dropzone.abc-cf-drag {
border-color: #3b82f6;
background: #eff6ff;
outline: none;
}
.abc-cf-dz-icon { font-size: 2em; display: block; margin-bottom: 6px; }
.abc-cf-dz-text { font-size: .9em; color: #64748b; } .abc-cf-file-list {
list-style: none;
margin: 10px 0 0;
padding: 0;
}
.abc-cf-file-item {
display: flex;
align-items: center;
justify-content: space-between;
background: #f0f9ff;
border: 1px solid #bae6fd;
border-radius: 5px;
padding: 6px 10px;
margin-bottom: 5px;
font-size: .875em;
}
.abc-cf-file-remove {
background: none;
border: none;
color: #e53e3e;
cursor: pointer;
font-size: 1em;
padding: 0 4px;
line-height: 1;
} .abc-cf-fieldset {
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 18px 20px;
margin-bottom: 22px;
}
.abc-cf-fieldset legend {
font-weight: 700;
font-size: .95em;
color: #374151;
padding: 0 6px;
}
.abc-cf-check-label {
display: flex;
align-items: flex-start;
gap: 10px;
margin-bottom: 12px;
font-size: .875em;
color: #4b5563;
cursor: pointer;
line-height: 1.5;
}
.abc-cf-check-label:last-child { margin-bottom: 0; }
.abc-cf-check-label input[type="checkbox"] {
margin-top: 2px;
flex-shrink: 0;
width: 16px;
height: 16px;
accent-color: #3b82f6;
} .abc-cf-captcha-row {
display: flex;
align-items: flex-end;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 22px;
}
#abc-cf-captcha-img {
border: 1px solid #cbd5e1;
border-radius: 6px;
display: block;
}
.abc-cf-cap-refresh {
background: #f1f5f9;
border: 1px solid #cbd5e1;
border-radius: 6px;
padding: 8px 12px;
font-size: 1.3em;
cursor: pointer;
transition: background .15s;
line-height: 1;
align-self: flex-end;
margin-bottom: 0;
}
.abc-cf-cap-refresh:hover { background: #e2e8f0; }
.abc-cf-captcha-input { flex: 1; min-width: 160px; }
.abc-cf-captcha-input input {
letter-spacing: .18em;
text-transform: uppercase;
} .abc-cf-submit-row {
display: flex;
align-items: center;
gap: 16px;
}
.abc-cf-submit {
background: #1e40af;
color: #fff;
border: none;
border-radius: 7px;
padding: 13px 34px;
font-size: 1em;
font-weight: 700;
cursor: pointer;
transition: background .15s, transform .1s;
letter-spacing: .03em;
}
.abc-cf-submit:hover  { background: #1d4ed8; }
.abc-cf-submit:active { transform: scale(.97); }
.abc-cf-submit:disabled { opacity: .6; cursor: not-allowed; }
.abc-cf-spinner {
font-size: .9em;
color: #64748b;
animation: abc-cf-pulse 1s infinite;
}
@keyframes abc-cf-pulse {
0%,100% { opacity: 1; }
50%      { opacity: .4; }
} .abc-cf-status {
padding: 16px 20px;
border-radius: 8px;
font-size: 1em;
font-weight: 600;
margin-bottom: 20px;
display: none;
}
.abc-cf-ok  {
background: #dcfce7;
border: 1px solid #86efac;
color: #166534;
}
.abc-cf-err {
background: #fee2e2;
border: 1px solid #fca5a5;
color: #991b1b;
}