:root {
    --secf-primary: #3b82f6;
    --secf-primary-dark: #2563eb;
    --secf-error: #ef4444;
    --secf-success: #22c55e;
    --secf-text: #1e293b;
    --secf-text-muted: #64748b;
    --secf-border: #e2e8f0;
    --secf-bg-field: #f8fafc;
    --secf-radius: 0.5rem;
}
.secontactform-wrap { max-width: 640px; font-family: system-ui, -apple-system, sans-serif; color: var(--secf-text); }
.secontactform { display: flex; flex-direction: column; gap: 1.25rem; }
.secontactform-row { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.secontactform-row > .secontactform-col--full { flex: 0 0 100%; max-width: 100%; }
.secontactform-row > .secontactform-col--half { flex: 0 0 calc(50% - 0.625rem); max-width: calc(50% - 0.625rem); }
.secontactform-row > .secontactform-col--third { flex: 0 0 calc(33.333% - 0.833rem); max-width: calc(33.333% - 0.833rem); }
.secontactform-row > .secontactform-col--two-thirds { flex: 0 0 calc(66.666% - 0.417rem); max-width: calc(66.666% - 0.417rem); }
@media (max-width: 600px) {
    .secontactform-row > [class*="secontactform-col--"] { flex: 0 0 100%; max-width: 100%; }
}
.secontactform-field { display: flex; flex-direction: column; gap: 0.375rem; }
.secontactform-label { font-size: 0.875rem; font-weight: 600; color: var(--secf-text); }
.secontactform-required { color: var(--secf-error); margin-left: 0.25rem; }
.secontactform-input, .secontactform-textarea, select.secontactform-input {
    width: 100%; padding: 0.625rem 0.875rem; font-size: 1rem; font-family: inherit;
    color: var(--secf-text); background: var(--secf-bg-field);
    border: 1.5px solid var(--secf-border); border-radius: var(--secf-radius);
    transition: border-color 150ms ease, box-shadow 150ms ease;
    box-sizing: border-box;
}
.secontactform-input:focus, .secontactform-textarea:focus, select.secontactform-input:focus {
    outline: none; border-color: var(--secf-primary); background: #fff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}
.secontactform-textarea { resize: vertical; min-height: 120px; }
.secontactform-field.has-error .secontactform-input,
.secontactform-field.has-error .secontactform-textarea { border-color: var(--secf-error); background: #fef2f2; }
.secontactform-error { color: var(--secf-error); font-size: 0.8125rem; }
.secontactform-radios, .secontactform-checkboxes { display: flex; flex-direction: column; gap: 0.5rem; }
.secontactform-radio, .secontactform-checkbox-label { display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; color: var(--secf-text-muted); }
.secontactform-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.secontactform-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.75rem 2rem; font-size: 1rem; font-weight: 600;
    color: #fff; background: var(--secf-primary); border: none;
    border-radius: var(--secf-radius); cursor: pointer;
    transition: background 150ms ease;
}
.secontactform-btn:hover { background: var(--secf-primary-dark); }
.secontactform-thankyou { text-align: center; padding: 3rem 1.5rem; max-width: 480px; margin: 0 auto; }
.secontactform-thankyou__title { font-size: 1.625rem; color: var(--secf-success); margin: 1rem 0; }
.secontactform-thankyou__message { color: var(--secf-text-muted); }
