@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");
:root {
--frm-color-primary: #990011;
--frm-color-secondary: #B3001A;
}
html.intake-form body, html.intake-form .main-wrapper, html.intake-form .public-page-layout { background:#EEF1F4 !important; }
html.intake-form body::before, html.intake-form .main-wrapper::before, html.intake-form .public-page-layout::before { display:none !important; background:none !important; content:"" !important; }
.app-form-embed#FormSetting-scope, .app-form-embed .card-block.forms-form-block { background:transparent !important; }
.card-block.forms-form-block { padding:0 !important; }
#forms-form-wrapper { max-width:600px !important; margin:0 auto !important; background:#FFFFFF !important; border:1px solid #E4E8EC !important; border-top:3px solid var(--frm-color-primary) !important; border-radius:8px !important; padding:40px 44px 38px !important; box-shadow:0 1px 3px rgba(20,30,40,0.05) !important; }
.card-header.forms-form-header { background:transparent !important; padding:0 0 18px !important; margin:0 0 24px !important; border-bottom:1px solid #E4E8EC !important; }
.card .card-header.forms-form-header h6 { text-align:left !important; padding:0 !important; font-family:"Fraunces", system-ui, sans-serif !important; font-size:26px !important; font-weight:600 !important; color:#1A1F24 !important; letter-spacing:-0.01em !important; }
#forms-form-wrapper, #forms-form-wrapper .form-control, .form-group.ng-scope > label { font-family:"Inter", system-ui, sans-serif !important; }
.form-oscar .form-group, .form-group.ng-scope { margin-bottom:18px !important; }
.form-group.ng-scope > label { font-size:13px !important; font-weight:600 !important; color:#1A1F24 !important; letter-spacing:0 !important; text-transform:none !important; margin-bottom:7px !important; }
.label-subtext > p, .form-group.ng-scope > .label-subtext > p { font-style:normal !important; font-size:12.5px !important; color:#6B7280 !important; margin:0 0 7px !important; }
.required { color:var(--frm-color-primary) !important; }
#forms-form-wrapper .form-control { height:auto !important; background:#FFFFFF !important; color:#1A1F24 !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; padding:12px 14px !important; font-size:15px !important; box-shadow:none !important; transition:border-color .14s, box-shadow .14s !important; }
#forms-form-wrapper .form-control:focus { border-color:var(--frm-color-primary) !important; box-shadow:0 0 0 3px color-mix(in srgb, var(--frm-color-primary) 16%, transparent) !important; outline:none !important; }
.form-control::placeholder { color:#6B7280 !important; opacity:.7 !important; }
.form-actions.btn-list .btn.btn-primary, .appointment-intake-form-field-block .btn.btn-primary, .form-actions.btn-list span.tooltipBlock .btn.btn-primary { background:var(--frm-color-primary) !important; color:#FFFFFF !important; border:none !important; font-family:"Inter", system-ui, sans-serif !important; font-size:15px !important; font-weight:600 !important; letter-spacing:0 !important; padding:13px 30px !important; border-radius:8px !important; box-shadow:none !important; transition:filter .15s, transform .12s !important; }
.form-actions.btn-list .btn.btn-primary:hover, .appointment-intake-form-field-block .btn.btn-primary:hover, .form-actions.btn-list span.tooltipBlock .btn.btn-primary:hover { filter:brightness(1.06) !important; transform:translateY(-1px) !important; }
/* secondary button = outline (distinct from the primary fill) */
.btn-list > .btn-secondary { background:transparent !important; color:var(--frm-color-primary) !important; border:1.5px solid var(--frm-color-primary) !important; border-radius:8px !important; font-family:"Inter", system-ui, sans-serif !important; font-weight:600 !important; padding:12px 26px !important; }
.btn-list > .btn-secondary:hover { background:color-mix(in srgb, var(--frm-color-primary) 10%, transparent) !important; }
.btn-info { background-color:var(--frm-color-primary) !important; border-color:var(--frm-color-primary) !important; color:#FFFFFF !important; }
/* ---- FULL FIELD SPECTRUM (matches original theme coverage, flat-embed) ---- */
/* native input/textarea (some fields render as bare input under .form-group, not .form-control) */
#forms-form-wrapper .form-group.ng-scope > input, #forms-form-wrapper .form-group.ng-scope > textarea { background:#FFFFFF !important; color:#1A1F24 !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; padding:12px 14px !important; font-size:15px !important; box-shadow:none !important; }
#forms-form-wrapper .form-group.ng-scope > input:focus, #forms-form-wrapper .form-group.ng-scope > textarea:focus { border-color:var(--frm-color-primary) !important; box-shadow:0 0 0 3px color-mix(in srgb, var(--frm-color-primary) 16%, transparent) !important; outline:none !important; }
#forms-form-wrapper .form-group.ng-scope > input::placeholder, #forms-form-wrapper .form-group.ng-scope > textarea::placeholder { color:#6B7280 !important; opacity:.7 !important; }
/* animated floating label: sit cleanly over the field, accent when active */
.form-group.animated-form-label.active > label, .form-group.animated-form-label:focus > label, .form-group.animated-form-label:focus-within > label { background:#FFFFFF !important; color:var(--frm-color-primary) !important; padding:0 6px !important; }
/* Select2 single-select — match the modern input */
.select2-container--default .select2-selection--single { height:auto !important; min-height:46px !important; display:flex !important; align-items:center !important; background:#FFFFFF !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; padding:4px 12px !important; }
.select2-container--default.select2-container--open .select2-selection--single { border-color:var(--frm-color-primary) !important; box-shadow:0 0 0 3px color-mix(in srgb, var(--frm-color-primary) 16%, transparent) !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:#1A1F24 !important; line-height:1.4 !important; padding:0 !important; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color:#6B7280 !important; }
.select2-dropdown { background:#FFFFFF !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; box-shadow:0 12px 32px -14px rgba(15,20,30,.28) !important; }
.select2-results__option { color:#1A1F24 !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color:var(--frm-color-primary) !important; color:#FFFFFF !important; }
.select2-container--default .select2-results__option[aria-selected=true] { background-color:color-mix(in srgb, var(--frm-color-primary) 14%, transparent) !important; color:#1A1F24 !important; }
.select2-search__field { background:#FFFFFF !important; color:#1A1F24 !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color:var(--frm-color-primary) !important; outline:none !important; }
/* checkbox (box -> accent fill on check) + radio (circle + accent dot) */
.checkbox span.label-text, .radiobox span.label-text, .checkbox > label > span.label-text, .radiobox > label > span.label-text { color:#1A1F24 !important; }
.checkbox span.label-text:after { border:2px solid #D9DEE4 !important; border-radius:5px !important; }
.checkbox input[type=checkbox]:checked + span.label-text:after { border-color:var(--frm-color-primary) !important; background-color:var(--frm-color-primary) !important; color:#FFFFFF !important; }
.radiobox span.label-text:before { border:2px solid #D9DEE4 !important; }
.radiobox input[type=radio]:checked + span.label-text:before { border-color:var(--frm-color-primary) !important; }
.radiobox span.label-text:after { background-color:var(--frm-color-primary) !important; }
/* file upload — modern dashed drop zone */
.file-upload-field-input { padding:0 !important; }
.file-upload-field-input:not(.view-only) .file-drop { background:#FFFFFF !important; border:1.5px dashed #D9DEE4 !important; border-radius:8px !important; color:#6B7280 !important; padding:22px !important; transition:border-color .14s, background .14s !important; }
.file-upload-field-input:not(.view-only) .file-drop:hover { border-color:var(--frm-color-primary) !important; background:color-mix(in srgb, var(--frm-color-primary) 5%, #FFFFFF) !important; }
.file-upload-field-input:not(.view-only) .file-list li { background:#FFFFFF !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; color:#1A1F24 !important; }
/* datepicker popup — accent selected day */
[uib-datepicker-popup-wrap] .dropdown-menu, .ui-datepicker.ui-widget { background:#FFFFFF !important; border:1px solid #D9DEE4 !important; border-radius:8px !important; box-shadow:0 12px 32px -14px rgba(15,20,30,.28) !important; }
[uib-datepicker-popup-wrap] .uib-datepicker-popup table th, .ui-datepicker.ui-widget th { color:#6B7280 !important; }
[uib-datepicker-popup-wrap] .uib-datepicker-popup table td .btn.active, [uib-datepicker-popup-wrap] .uib-datepicker-popup table td .btn-info { background:var(--frm-color-primary) !important; border-color:var(--frm-color-primary) !important; color:#FFFFFF !important; }
/* required message + content blocks */
#requiredMessage .text-muted.required, .required { color:var(--frm-color-primary) !important; }
#forms-form-wrapper .div-block, #forms-form-wrapper .div-block p { color:#1A1F24 !important; }
#forms-form-wrapper .div-block h1, #forms-form-wrapper .div-block h2, #forms-form-wrapper .div-block h3, #forms-form-wrapper .div-block h4 { color:#1A1F24 !important; font-family:"Fraunces", system-ui, sans-serif !important; }