.woocommerce form .form-row { position: relative; }
.woocommerce form .form-row label { color: var(--mtc-text); }
.woocommerce form .form-row .required { color: #b42318; text-decoration: none; }
.woocommerce form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.woocommerce form select,
.woocommerce form textarea,
.woocommerce .select2-container .select2-selection,
.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
.wc-block-checkout select,
.wc-block-checkout textarea { color: var(--mtc-text); border-color: var(--mtc-line); background-color: var(--mtc-bg); }

.woocommerce form input::placeholder,
.woocommerce form textarea::placeholder,
.wc-block-checkout input::placeholder,
.wc-block-checkout textarea::placeholder { color: var(--mtc-muted); opacity: .82; }

.woocommerce form .woocommerce-invalid input,
.woocommerce form .woocommerce-invalid select,
.woocommerce form .woocommerce-invalid textarea,
.woocommerce form [aria-invalid="true"],
.wc-block-checkout [aria-invalid="true"] { border-color: #b42318 !important; box-shadow: 0 0 0 1px #b42318; }

.woocommerce form .woocommerce-validated input,
.woocommerce form .woocommerce-validated select,
.woocommerce form .woocommerce-validated textarea { border-color: var(--mtc-accent); }

.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce form .form-row .woocommerce-error,
.wc-block-components-validation-error,
.wc-block-components-notice-banner,
.wc-block-components-notices,
.wc-block-store-notice { border-radius: 10px; font-size: 13px; line-height: 1.75; }

.woocommerce form .form-row .woocommerce-error,
.wc-block-components-validation-error,
.woocommerce form .mtc-field-error,
.woocommerce form [data-mtc-field-error] { display: block; margin: 6px 0 0; color: #b42318; }

.woocommerce form .form-row.has-error :where(input, select, textarea),
.woocommerce form .mtc-form-row[data-mtc-invalid="true"] :where(input, select, textarea) { border-color: #b42318 !important; box-shadow: 0 0 0 1px #b42318; }

.wc-block-checkout .wc-block-components-checkout-place-order-button + .wc-block-components-validation-error,
.wc-block-checkout .wc-block-components-notices,
.wc-block-checkout .wc-block-store-notice { margin-top: 10px; }

.woocommerce form :where(input, select, textarea):focus-visible,
.wc-block-checkout :where(input, select, textarea, button):focus-visible { outline: 3px solid var(--mtc-secondary); outline-offset: 2px; }

[data-theme="dark"] .woocommerce form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
[data-theme="dark"] .woocommerce form select,
[data-theme="dark"] .woocommerce form textarea,
[data-theme="dark"] .woocommerce .select2-container .select2-selection,
[data-theme="dark"] .woocommerce .select2-dropdown,
[data-theme="dark"] .woocommerce .select2-search__field,
[data-theme="dark"] .wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] .wc-block-checkout select,
[data-theme="dark"] .wc-block-checkout textarea { color: var(--mtc-text) !important; border-color: var(--mtc-line) !important; background-color: var(--mtc-surface) !important; color-scheme: dark; -webkit-text-fill-color: var(--mtc-text); }

[data-theme="dark"] .woocommerce form input:-webkit-autofill,
[data-theme="dark"] .wc-block-checkout input:-webkit-autofill { box-shadow: 0 0 0 1000px var(--mtc-surface) inset !important; -webkit-text-fill-color: var(--mtc-text) !important; }

@media (max-width: 640px) {
	.woocommerce form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
	.woocommerce form select,
	.woocommerce form textarea,
	.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
	.wc-block-checkout select,
	.wc-block-checkout textarea { min-height: 48px; font-size: 16px; }
}
