@charset "UTF-8";

#sfcf-wrap { max-width: 680px; margin: 0 auto; width: 100%; overflow-x: hidden; box-sizing: border-box; }
#sfcf-form .sfcf-group { margin-bottom: 1.4em; }
.sfcf-label { display: flex; align-items: center; gap: .5em; font-weight: bold; margin-bottom: .4em; flex-wrap: wrap; }
.sfcf-req { font-size: .75em; line-height: 1rem; background: #c00; color: #fff; padding: 2px 6px; border-radius: 3px; font-weight: normal; display: inline-block;}
.sfcf-opt { font-size: .75em; line-height: 1rem; background: #888; color: #fff; padding: 2px 6px; border-radius: 3px; font-weight: normal; display: inline-block;}
.sfcf-desc { display: block; font-size: .85em; color: #666; margin-top: .3em; }

#sfcf-wrap input[type="text"],
#sfcf-wrap input[type="email"],
#sfcf-wrap input[type="tel"],
#sfcf-wrap input[type="url"],
#sfcf-wrap input[type="number"],
#sfcf-wrap select,
#sfcf-wrap textarea { 
    width: 100% !important; max-width: 100% !important; padding: .6em .8em !important; 
    border: 1px solid #ccc !important; border-radius: 4px !important; box-sizing: border-box !important; 
    font-size: 16px !important; touch-action: manipulation;
}

#sfcf-wrap input[type="file"] {
    width: 100% !important; max-width: 100% !important; padding: .4em .2em !important; 
    box-sizing: border-box !important; font-size: 16px !important;
}
.sfcf-file-note { font-size: 0.8em; color: #666; margin-top: 4px; }

#sfcf-wrap textarea { resize: vertical; }
#sfcf-wrap input:focus, #sfcf-wrap select:focus, #sfcf-wrap textarea:focus { outline: 2px solid #0073aa; border-color: #0073aa; }

.sfcf-choices { display: flex; flex-wrap: wrap; gap: .5em 1.5em; }
.sfcf-choice { display: flex; align-items: center; gap: .4em; font-weight: normal; cursor: pointer; }
.sfcf-consent-box { background: #f9f9f9; padding: 1em; border: 1px solid #e5e5e5; border-radius: 4px; }

.sfcf-errors { background: #fff0f0; border: 1px solid #c00; border-radius: 4px; padding: 1em; margin-bottom: 1.2em; }
.sfcf-errors p { margin: 0 0 .3em; color: #c00; }
.sfcf-thanks { background: #f0fff0; border: 1px solid #090; border-radius: 4px; padding: 1.5em; color: #060; }

.sfcf-confirm-lead { margin-bottom: 1em; }
.sfcf-confirm-table { width: 100%; border-collapse: collapse; margin-bottom: 1.5em; }
.sfcf-confirm-table th, .sfcf-confirm-table td { border-bottom: 1px solid #ddd; padding: .7em .8em; text-align: left; vertical-align: top; word-break: break-word; }
.sfcf-confirm-table th { width: 32%; background: #f7f7f7; font-weight: bold; }

.sfcf-actions { display: flex; gap: .8em; flex-wrap: wrap; margin-top: 1em; }
.sfcf-btn { padding: .6em 1.8em; border: none; border-radius: 4px; cursor: pointer; font-size: 1em; transition: background .2s; }
.sfcf-btn-primary  { background: #0073aa; color: #fff; }
.sfcf-btn-primary:disabled { background: #aaa; cursor: not-allowed; }
.sfcf-btn-secondary { background: #eee; color: #333; border: 1px solid #ccc; }

.sfcf-hp { visibility: hidden; height: 0; overflow: hidden; margin: 0; padding: 0; }
.sfcf-inline-error { color: #d63638; font-size: 0.85em; margin-top: 0.4em; font-weight: bold; }
.sfcf-input-error { border-color: #d63638 !important; background-color: #fffafa !important; }