/* Visual state contract only. Form structure and default design remain Elementor-owned. */

.st-form-state--dark {
	--st-state-hover-bg: #424242;
	--st-state-active-bg: #303030;
	--st-state-focus-bg: #383838;
	--st-state-text: #fbfbfb;
	--st-state-placeholder: #bdbdbd;
	--st-state-hover-border: #777777;
	--st-state-focus-ring: #ffd676;
	--st-state-invalid: #ff8a80;
	--st-state-success: #b8d8bd;
}

.st-form-state--light {
	--st-state-hover-bg: #f1f1f1;
	--st-state-active-bg: #e4e4e4;
	--st-state-focus-bg: #fbfbfb;
	--st-state-text: #1c1c1c;
	--st-state-placeholder: #666666;
	--st-state-hover-border: #555555;
	--st-state-focus-ring: #1c1c1c;
	--st-state-invalid: #9f251f;
	--st-state-success: #315e39;
}

body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field-textual:hover,
body .st-form-state.st-form-state--dark .elementor-field-group textarea:hover,
body .st-form-state.st-form-state--dark .elementor-field-group select:hover,
body .st-form-state.st-form-state--dark .about-trust__select-button:hover,
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field-textual:hover,
body .st-form-state.st-form-state--light .elementor-field-group textarea:hover,
body .st-form-state.st-form-state--light .elementor-field-group select:hover,
body .st-form-state.st-form-state--light .about-trust__select-button:hover {
	background-color: var(--st-state-hover-bg) !important;
	border-color: var(--st-state-hover-border) !important;
	color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, outline-color 160ms ease, box-shadow 160ms ease;
}

body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field-textual:active,
body .st-form-state.st-form-state--dark .elementor-field-group textarea:active,
body .st-form-state.st-form-state--dark .elementor-field-group select:active,
body .st-form-state.st-form-state--dark .about-trust__select-button:active,
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field-textual:active,
body .st-form-state.st-form-state--light .elementor-field-group textarea:active,
body .st-form-state.st-form-state--light .elementor-field-group select:active,
body .st-form-state.st-form-state--light .about-trust__select-button:active {
	background-color: var(--st-state-active-bg) !important;
	border-color: var(--st-state-focus-ring) !important;
	color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
}

body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field-textual:focus,
body .st-form-state.st-form-state--dark .elementor-field-group textarea:focus,
body .st-form-state.st-form-state--dark .elementor-field-group select:focus,
body .st-form-state.st-form-state--dark .about-trust__select-button:focus,
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field-textual:focus,
body .st-form-state.st-form-state--light .elementor-field-group textarea:focus,
body .st-form-state.st-form-state--light .elementor-field-group select:focus,
body .st-form-state.st-form-state--light .about-trust__select-button:focus {
	background-color: var(--st-state-focus-bg) !important;
	border-color: var(--st-state-focus-ring) !important;
	box-shadow: 0 0 0 1px var(--st-state-focus-ring) !important;
	color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
	outline: 2px solid var(--st-state-focus-ring) !important;
	outline-offset: 1px;
}

body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field-textual:focus-visible,
body .st-form-state.st-form-state--dark .elementor-field-group textarea:focus-visible,
body .st-form-state.st-form-state--dark .elementor-field-group select:focus-visible,
body .st-form-state.st-form-state--dark .about-trust__select-button:focus-visible,
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field-textual:focus-visible,
body .st-form-state.st-form-state--light .elementor-field-group textarea:focus-visible,
body .st-form-state.st-form-state--light .elementor-field-group select:focus-visible,
body .st-form-state.st-form-state--light .about-trust__select-button:focus-visible {
	box-shadow: 0 0 0 2px var(--st-state-focus-ring) !important;
	outline: 3px solid var(--st-state-focus-ring) !important;
	outline-offset: 1px;
}

body .st-form-state.st-form-state--dark .elementor-field-group.is-filled .elementor-field-textual,
body .st-form-state.st-form-state--dark .elementor-field-group.is-filled textarea,
body .st-form-state.st-form-state--dark .elementor-field-group.is-filled select,
body .st-form-state.st-form-state--dark .about-trust__select-button.is-filled,
body .st-form-state.st-form-state--light .elementor-field-group.is-filled .elementor-field-textual,
body .st-form-state.st-form-state--light .elementor-field-group.is-filled textarea,
body .st-form-state.st-form-state--light .elementor-field-group.is-filled select,
body .st-form-state.st-form-state--light .about-trust__select-button.is-filled {
	color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
}

body .st-form-state .elementor-field-group.is-filled .elementor-field-textual::placeholder,
body .st-form-state .elementor-field-group.is-filled textarea::placeholder {
	color: var(--st-state-placeholder) !important;
	opacity: 0.72;
}

body .st-form-state.st-form-state--dark input:-webkit-autofill,
body .st-form-state.st-form-state--dark textarea:-webkit-autofill,
body .st-form-state.st-form-state--dark select:-webkit-autofill,
body .st-form-state.st-form-state--light input:-webkit-autofill,
body .st-form-state.st-form-state--light textarea:-webkit-autofill,
body .st-form-state.st-form-state--light select:-webkit-autofill {
	background-color: var(--st-state-focus-bg) !important;
	box-shadow: 0 0 0 1000px var(--st-state-focus-bg) inset !important;
	-webkit-text-fill-color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
}

body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field[aria-invalid="true"],
body .st-form-state.st-form-state--dark .elementor-field-group .elementor-field.elementor-error,
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field[aria-invalid="true"],
body .st-form-state.st-form-state--light .elementor-field-group .elementor-field.elementor-error {
	border-color: var(--st-state-invalid) !important;
	box-shadow: 0 0 0 1px var(--st-state-invalid) !important;
	color: var(--st-state-text) !important;
	outline: 2px dashed var(--st-state-invalid) !important;
	outline-offset: 1px;
}

.st-form-state :disabled,
.st-form-state [aria-disabled="true"] {
	cursor: not-allowed !important;
	opacity: 0.48 !important;
	pointer-events: none !important;
}

.st-form-state.st-form-state--dark .elementor-message-success,
.st-form-state.st-form-state--dark .elementor-help-inline:not(.elementor-message-danger) {
	background-color: transparent;
	border-color: var(--st-state-success);
	color: var(--st-state-success) !important;
}

.st-form-state.st-form-state--light .elementor-message-success,
.st-form-state.st-form-state--light .elementor-help-inline:not(.elementor-message-danger) {
	background-color: transparent;
	border-color: var(--st-state-success);
	color: var(--st-state-success) !important;
}

.st-form-state.st-form-state--dark .elementor-message-danger,
.st-form-state.st-form-state--dark .elementor-message.elementor-error,
.st-form-state.st-form-state--light .elementor-message-danger,
.st-form-state.st-form-state--light .elementor-message.elementor-error {
	background-color: transparent;
	border-color: var(--st-state-invalid);
	color: var(--st-state-invalid) !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce,
.st-general-request {
	--st-state-hover-bg: #f1f1f1;
	--st-state-active-bg: #e4e4e4;
	--st-state-focus-bg: #fbfbfb;
	--st-state-text: #1c1c1c;
	--st-state-hover-border: #555555;
	--st-state-focus-ring: #1c1c1c;
	--st-state-invalid: #9f251f;
	--st-state-success: #315e39;
}

body.woocommerce-cart .woocommerce input:not([data-st-area-input]):hover,
body.woocommerce-checkout .woocommerce input:hover,
body.woocommerce-checkout .woocommerce textarea:hover,
body.woocommerce-checkout .woocommerce select:hover,
.st-general-request input:hover,
.st-general-request textarea:hover,
.st-general-request select:hover {
	background-color: var(--st-state-hover-bg) !important;
	border-color: var(--st-state-hover-border) !important;
	color: var(--st-state-text) !important;
}

body.woocommerce-cart .woocommerce input:not([data-st-area-input]):active,
body.woocommerce-checkout .woocommerce input:active,
body.woocommerce-checkout .woocommerce textarea:active,
body.woocommerce-checkout .woocommerce select:active,
.st-general-request input:active,
.st-general-request textarea:active,
.st-general-request select:active {
	background-color: var(--st-state-active-bg) !important;
}

body.woocommerce-cart .woocommerce input:not([data-st-area-input]):focus,
body.woocommerce-cart .woocommerce input:not([data-st-area-input]):focus-visible,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce input:focus-visible,
body.woocommerce-checkout .woocommerce textarea:focus,
body.woocommerce-checkout .woocommerce textarea:focus-visible,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce select:focus-visible,
.st-general-request input:focus,
.st-general-request input:focus-visible,
.st-general-request textarea:focus,
.st-general-request textarea:focus-visible,
.st-general-request select:focus,
.st-general-request select:focus-visible {
	background-color: var(--st-state-focus-bg) !important;
	border-color: var(--st-state-focus-ring) !important;
	box-shadow: 0 0 0 1px var(--st-state-focus-ring) !important;
	color: var(--st-state-text) !important;
	caret-color: var(--st-state-text);
	outline: 2px solid var(--st-state-focus-ring) !important;
	outline-offset: 1px;
}

body.woocommerce-checkout .woocommerce .woocommerce-invalid input,
body.woocommerce-checkout .woocommerce .woocommerce-invalid textarea,
.st-general-request .woocommerce-invalid input,
.st-general-request .woocommerce-invalid textarea,
.st-general-request [aria-invalid="true"] {
	border-color: var(--st-state-invalid) !important;
	box-shadow: 0 0 0 1px var(--st-state-invalid) !important;
	outline: 2px dashed var(--st-state-invalid) !important;
	outline-offset: 1px;
}

body.woocommerce-cart .woocommerce input:not([data-st-area-input]):disabled,
body.woocommerce-checkout .woocommerce input:disabled,
body.woocommerce-checkout .woocommerce textarea:disabled,
body.woocommerce-checkout .woocommerce select:disabled,
.st-general-request :disabled {
	cursor: not-allowed !important;
	opacity: 0.48 !important;
	pointer-events: none !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-order-received .woocommerce-message {
	border-color: var(--st-state-success) !important;
	color: var(--st-state-text) !important;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-order-received .woocommerce-error {
	border-color: var(--st-state-invalid) !important;
	color: var(--st-state-text) !important;
}
