/* Forma form color harmonization — canonical bridge
 * Color-only layer. Intentionally does not change geometry, spacing, typography or sizing.
 * Legacy --forma-form-* names bridge to the canonical --forma-field-* contract.
 */
:root{
  --forma-form-bg:var(--forma-field-bg);
  --forma-form-text:var(--forma-field-text);
  --forma-form-muted:var(--forma-field-text-secondary);
  --forma-form-placeholder:var(--forma-field-placeholder);
  --forma-form-border:var(--forma-field-border);
  --forma-form-surface:var(--forma-panel,#141414);
  --forma-form-surface-2:var(--forma-panel-2,#191919);
  --forma-form-disabled-bg:#171717;
  --forma-form-disabled-text:#747474;
  --forma-form-focus:var(--forma-field-focus);
  --forma-form-focus-ring:rgba(30,123,141,.22);
  --forma-form-selected-bg:#10282D;
  --forma-form-selected-text:#E8FAFD;
  --forma-form-danger-bg:#2A1518;
  --forma-form-danger-border:#6E3238;
  --forma-form-danger-text:#F0A7AE;
  --forma-form-success-bg:#11231A;
  --forma-form-success-border:#2C5D43;
  --forma-form-success-text:#A5DDBD;
  --forma-form-warning-bg:#282211;
  --forma-form-warning-border:#665529;
  --forma-form-warning-text:#DBC982;
}


/* Explicit canonical primitives: color/state authority only. */
.forma-field-label,.forma-field>label,.forma-label{color:var(--forma-form-muted)}
.forma-field-help,.forma-help{color:var(--forma-form-muted)}
.forma-field-error,.forma-field-required{color:var(--forma-form-danger-text)}
.forma-control,.forma-input,.forma-select,.forma-textarea,.forma-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),select,textarea){background:var(--forma-form-bg);color:var(--forma-form-text);border-color:var(--forma-form-border);caret-color:var(--forma-form-text)}
.forma-form :is(input,textarea)::placeholder,.forma-input::placeholder,.forma-textarea::placeholder{color:var(--forma-form-placeholder);opacity:1}
.forma-control:focus,.forma-input:focus,.forma-select:focus,.forma-textarea:focus,.forma-form :is(input,select,textarea):focus{outline:0;border-color:var(--forma-form-focus);box-shadow:0 0 0 2px var(--forma-form-focus-ring)}
.forma-form :is(input,select,textarea):disabled{background:var(--forma-form-disabled-bg);color:var(--forma-form-disabled-text);border-color:var(--forma-form-border);opacity:1}
.forma-form :is(input,textarea)[readonly]{background:var(--forma-form-disabled-bg);color:var(--forma-form-muted)}
.forma-form :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--forma-form-focus)}
.forma-form input[type="file"]{background:var(--forma-form-bg);color:var(--forma-form-muted);border-color:var(--forma-form-border)}
.forma-form input[type="file"]::file-selector-button{background:var(--forma-form-surface-2);color:var(--forma-form-text);border-color:var(--forma-form-border)}
.forma-form-notice{background:var(--forma-form-surface-2);color:var(--forma-form-muted);border-color:var(--forma-form-border)}
.forma-form-notice.is-error{background:var(--forma-form-danger-bg);color:var(--forma-form-danger-text);border-color:var(--forma-form-danger-border)}
.forma-form-notice.is-success{background:var(--forma-form-success-bg);color:var(--forma-form-success-text);border-color:var(--forma-form-success-border)}
.forma-form-notice.is-warning{background:var(--forma-form-warning-bg);color:var(--forma-form-warning-text);border-color:var(--forma-form-warning-border)}

/* Explicit shared form consumers. Geometry is owned by forma-forms.css. */
.ecm-submission-form :is(input[type="text"],input[type="number"],input[type="file"],textarea,select),
.ecm-identity-form :is(input[type="text"],select),
.fea-field :is(input[type="text"],input[type="url"],input[type="number"],textarea,select),
.ecm-manager-fields :is(input,select,textarea),.ecm-role-audit-filters :is(input,select),.ecm-role-editor select{background:var(--forma-form-bg);color:var(--forma-form-text);border-color:var(--forma-form-border);caret-color:var(--forma-form-text)}
.ecm-submission-form :is(input,textarea)::placeholder,.ecm-identity-form input::placeholder,.fea-field :is(input,textarea)::placeholder{color:var(--forma-form-placeholder);opacity:1}
.ecm-submission-form :is(input,select,textarea):focus,.ecm-identity-form :is(input,select):focus,.fea-field :is(input,select,textarea):focus,.ecm-manager-fields :is(input,select,textarea):focus,.ecm-role-audit-filters :is(input,select):focus,.ecm-role-editor select:focus{outline:0;border-color:var(--forma-form-focus);box-shadow:0 0 0 2px var(--forma-form-focus-ring)}
.ecm-submission-form input[type="file"]::file-selector-button{background:var(--forma-form-surface-2);color:var(--forma-form-text);border-color:var(--forma-form-border)}

/* Canonical native controls across all ECM/Forma-owned public surfaces. */
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="file"]),
  select,
  textarea
):not(.ecm-call-editor *){
  background-color:var(--forma-form-bg)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
  caret-color:var(--forma-form-text)!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) :is(input,textarea):not(.ecm-call-editor *)::placeholder{
  color:var(--forma-form-placeholder)!important;
  opacity:1!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="file"]),
  select,
  textarea
):not(.ecm-call-editor *):focus{
  border-color:var(--forma-form-focus)!important;
  box-shadow:0 0 0 2px var(--forma-form-focus-ring)!important;
  outline-color:var(--forma-form-focus)!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"])  :is(input,select,textarea):not(.ecm-call-editor *):disabled,
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) :is(input,select,textarea):not(.ecm-call-editor *)[readonly]{
  background-color:var(--forma-form-disabled-bg)!important;
  color:var(--forma-form-disabled-text)!important;
  border-color:var(--forma-form-border)!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) select:not(.ecm-call-editor *) option{
  background:var(--forma-form-surface)!important;
  color:var(--forma-form-text)!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) :is(input[type="checkbox"],input[type="radio"]):not(.ecm-call-editor *){accent-color:var(--forma-form-focus)!important}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) input[type="file"]:not(.ecm-call-editor *){
  color:var(--forma-form-muted)!important;
}
body:not(.wp-admin) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"]) input[type="file"]:not(.ecm-call-editor *)::file-selector-button{
  background:var(--forma-form-surface-2)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
}

/* Ultimate Member public forms: registration, login, account and profile editing. */
body:not(.wp-admin):not(.ecm-um-auth-raw) .um :is(input[type="text"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"],input[type="number"],input[type="search"],select,textarea){
  background-color:var(--forma-form-bg)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
  caret-color:var(--forma-form-text)!important;
}
body:not(.wp-admin):not(.ecm-um-auth-raw) .um :is(input,textarea)::placeholder{color:var(--forma-form-placeholder)!important;opacity:1!important}
body:not(.wp-admin):not(.ecm-um-auth-raw) .um :is(input[type="text"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"],input[type="number"],input[type="search"],select,textarea):focus{
  border-color:var(--forma-form-focus)!important;
  box-shadow:0 0 0 2px var(--forma-form-focus-ring)!important;
}
body:not(.wp-admin):not(.ecm-um-auth-raw) .um .um-field-label label,
body:not(.wp-admin):not(.ecm-um-auth-raw) .um .um-field-checkbox-option,
body:not(.wp-admin):not(.ecm-um-auth-raw) .um .um-field-radio-option{color:var(--forma-form-text)!important}
body:not(.wp-admin):not(.ecm-um-auth-raw) .um :is(.um-field-description,.um-field-help,.um-tip-text){color:var(--forma-form-muted)!important}
body:not(.wp-admin):not(.ecm-um-auth-raw) .um .um-field-error{background:var(--forma-form-danger-bg)!important;color:var(--forma-form-danger-text)!important;border-color:var(--forma-form-danger-border)!important}

/* Identity onboarding: replace the old light-only palette without touching its layout. */
.ecm-identity-form{
  --ecm-border:var(--forma-form-border)!important;
  --ecm-text:var(--forma-form-text)!important;
  --ecm-muted:var(--forma-form-muted)!important;
  --ecm-soft:var(--forma-form-surface-2)!important;
  --ecm-accent:var(--forma-form-focus)!important;
  color:var(--forma-form-text)!important;
}
.ecm-identity-section,
.ecm-choice-card__body,
.ecm-check-card>span,
.ecm-field-chip span,
.ecm-account-type-lock__icon,
body.ecm-identity-registration-disabled .um-register .um-form{
  background:var(--forma-form-surface)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
}

.ecm-account-type-lock{background:var(--forma-form-surface-2)!important;border-color:var(--forma-form-border)!important;color:var(--forma-form-text)!important}
.ecm-choice-card__body small,.ecm-check-card small,.ecm-field small,.ecm-account-type-lock small{color:var(--forma-form-muted)!important}
.ecm-identity-form__header h3,.ecm-identity-section__head strong,.ecm-account-type-lock b{color:var(--forma-form-text)!important}
.ecm-identity-form__header,body.ecm-identity-registration-disabled .um-register .um-col-alt{border-color:var(--forma-form-border)!important}
.ecm-choice-card input:checked+.ecm-choice-card__body,
.ecm-check-card input:checked+span,
.ecm-field-chip input:checked+span{
  background:var(--forma-form-selected-bg)!important;
  color:var(--forma-form-selected-text)!important;
  border-color:var(--forma-form-focus)!important;
  box-shadow:0 0 0 2px var(--forma-form-focus-ring)!important;
}
.ecm-choice-card input:focus-visible+.ecm-choice-card__body,
.ecm-check-card input:focus-visible+span,
.ecm-field-chip input:focus-visible+span{outline-color:var(--forma-form-focus)!important}
.ecm-identity-notice.is-success{background:var(--forma-form-success-bg)!important;border-color:var(--forma-form-success-border)!important;color:var(--forma-form-success-text)!important}
.ecm-identity-notice.is-error{background:var(--forma-form-danger-bg)!important;border-color:var(--forma-form-danger-border)!important;color:var(--forma-form-danger-text)!important}


/* Manager forms and embedded tools. */
.ecm-manager-fields label,.ecm-role-check-grid label,.ecm-secure-confirm{color:var(--forma-form-muted)!important}
.ecm-manager-embedded-tool :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),select,textarea):not(.ecm-call-editor *){
  background:var(--forma-form-bg)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
}
.ecm-manager-embedded-tool form:not(.ecm-call-editor) [style*="background:#fff"],
.ecm-manager-embedded-tool form:not(.ecm-call-editor) [style*="background: #fff"],
.ecm-manager-embedded-tool form:not(.ecm-call-editor) [style*="background:white"],
.ecm-manager-embedded-tool form:not(.ecm-call-editor) [style*="background: white"]{
  background:var(--forma-form-surface)!important;
  color:var(--forma-form-text)!important;
  border-color:var(--forma-form-border)!important;
}
.ecm-secure-confirm{background:var(--forma-form-warning-bg)!important;border-color:var(--forma-form-warning-border)!important;color:var(--forma-form-warning-text)!important}

/* Search/filter containers keep only their shared semantic surface here; field colors are covered by the canonical native-control bridge above. */
.forma-photo-filter-row,.forma-events-filter-row{background:var(--forma-form-surface-2)!important;border-color:var(--forma-form-border)!important}

/* Public event registration and consent. Native field colors are covered by the canonical bridge. */
.forma-public-event-consent{color:var(--forma-form-muted)!important}
.forma-public-event-notice{background:var(--forma-form-selected-bg)!important;color:var(--forma-form-selected-text)!important;border-color:var(--forma-form-focus)!important}

/* Select2 (used by WordPress/UM/ECM relation selectors). */
body:not(.wp-admin) .select2-container--default :is(.select2-selection--single,.select2-selection--multiple){background:var(--forma-form-bg)!important;color:var(--forma-form-text)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .select2-container--default .select2-selection--single .select2-selection__rendered,
body:not(.wp-admin) .select2-container--default .select2-selection--multiple .select2-selection__choice{color:var(--forma-form-text)!important}
body:not(.wp-admin) .select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--forma-form-surface-2)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .select2-dropdown{background:var(--forma-form-surface)!important;color:var(--forma-form-text)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .select2-search--dropdown .select2-search__field{background:var(--forma-form-bg)!important;color:var(--forma-form-text)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .select2-container--default .select2-results__option{color:var(--forma-form-text)!important;background:var(--forma-form-surface)!important}
body:not(.wp-admin) .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--forma-form-selected-bg)!important;color:var(--forma-form-selected-text)!important}

/* WordPress editor chrome when embedded in front-end Manager. */
body:not(.wp-admin) .wp-editor-wrap,
body:not(.wp-admin) .wp-editor-container,
body:not(.wp-admin) .quicktags-toolbar,
body:not(.wp-admin) .mce-toolbar-grp,
body:not(.wp-admin) .mce-statusbar,
body:not(.wp-admin) .wp-editor-tabs{background:var(--forma-form-surface)!important;color:var(--forma-form-text)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .wp-switch-editor{background:var(--forma-form-surface-2)!important;color:var(--forma-form-muted)!important;border-color:var(--forma-form-border)!important}
body:not(.wp-admin) .html-active .switch-html,body:not(.wp-admin) .tmce-active .switch-tmce{background:var(--forma-form-bg)!important;color:var(--forma-form-text)!important}

/* Keep native browser widgets in the correct mode. */
body:not(.wp-admin):not(.ecm-um-auth-raw) :where([class^="ecm-"],[class*=" ecm-"],[class^="forma-"],[class*=" forma-"],.um){color-scheme:dark}

/* Verification request inherits the canonical Forma form tokens. */
.ecm-verification-card{background:var(--forma-form-panel)!important;border-color:var(--forma-form-border)!important;color:var(--forma-form-text)!important}
.ecm-verification-card__summary small{color:var(--forma-form-muted)!important}
.ecm-verification-card__form input[type=url],.ecm-verification-card__form textarea{background:var(--forma-form-input)!important;border-color:var(--forma-form-border)!important;color:var(--forma-form-text)!important}
