/* Shared storefront actions. Choices, filters and navigation controls stay unchanged. */
body.trf-form-controls :is(
 a.e-button-base,button.e-button-base,a.elementor-button:not(.elementor-menu-cart__toggle_button),
 button.elementor-button,button[type=submit],input[type=submit],input[type=reset],
 .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
 .elementor-menu-cart__footer-buttons a,
 [data-trf-add],.trf-home-delivery-link,.trf-category-delivery-link,
 .trf-meal__cart-link,.trf-meal__details,.trf-delivery-link,
 .trf-flow__continue,.trf-flow__switch-change,.trf-flow__back,
 .trf-flow [data-trf-edit],.trf-flow [data-trf-retry],.trf-flow [data-trf-catalog-retry]
):not([role=tab]):not([role=radio]):not([role=option]):not(.single_add_to_cart_button:not([data-trf-add])){text-transform:uppercase!important}
body.trf-form-controls :is(a.e-button-base,button.e-button-base,a.elementor-button:not(.elementor-menu-cart__toggle_button),button.elementor-button) :is(.elementor-button-text,.e-button-text){text-transform:uppercase!important}
/* The product return action must fit narrow phones after uppercasing. */
body.trf-form-controls.single-product a.e-button-base{white-space:normal;text-align:center}
/* Shared storefront fields. Keep each control's layout and native behaviour. */
body.trf-form-controls{--trf-field-line:#aebaa9;--trf-field-focus:#0c4a45;--trf-field-surface:#fafaf3;--trf-field-error:#9c3030}
body.trf-form-controls :is(input,textarea,select,.select2-selection){transition:none!important;animation:none!important}
body.trf-form-controls :is(
 input:where(:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not(.qty):not(.trf-cart-quantity input):not(.select2-search--inline input)),
 textarea,select:where(:not(.trf-product-native-select)),.select2-selection
){border-width:1px!important;border-style:solid!important;border-color:var(--trf-field-line)!important;background-color:var(--trf-field-surface)!important;box-shadow:none!important;outline:1px solid transparent!important;outline-offset:-1px!important}
body.trf-form-controls :is(input:where(:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not(.qty):not(.trf-cart-quantity input):not(.select2-search--inline input)),textarea,select:where(:not(.trf-product-native-select)),.select2-selection):focus,
body.trf-form-controls .select2-container--focus .select2-selection,
body.trf-form-controls .select2-container--open .select2-selection{border-color:var(--trf-field-focus)!important;outline-color:var(--trf-field-focus)!important}
/* Validation must remain distinct from a normal focused field. */
body.trf-form-controls :is(input,textarea,select,.select2-selection):is([aria-invalid=true],.elementor-error,.wpcf7-not-valid),
body.trf-form-controls .woocommerce-invalid :is(input,textarea,select,.select2-selection),
body.trf-form-controls .elementor-error :is(input,textarea,select,.select2-selection){border-color:var(--trf-field-error)!important;outline-offset:0!important}
body.trf-form-controls :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--trf-field-focus)}
body.trf-form-controls :is(input[type=checkbox],input[type=radio],input[type=range],input[type=color],input[type=file]):focus-visible{outline:2px solid var(--trf-field-focus)!important;outline-offset:2px!important;box-shadow:none!important}
/* Custom choices transfer keyboard focus to their visible label/card. */
body.trf-form-controls :is(.trf-product-options__buttons span,.trf-flow__choice-body,.trf-flow__delivery-body,ul#shipping_method li,li.wc_payment_method){transition:none!important;animation:none!important}
/* Keep touch entry at least 16px so iOS does not zoom on focus. */
@media(max-width:1024px),(pointer:coarse){
 body.trf-form-controls :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),textarea,select,.select2-selection__rendered){font-size:16px!important}
}
