/* Property adoption for inventoried Classic WooCommerce and Bricks consumers.
 * Generated aliases alone cannot replace their compiled dimensions and colors.
 */

body.turri-woocommerce-form-context :is(
    .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce > .woocommerce-info,
    .woocommerce .cart-empty,
    .woocommerce-form-login-toggle .woocommerce-info,
    .woocommerce-form-coupon-toggle .woocommerce-info,
    .woocommerce-MyAccount-content > .woocommerce-info
) {
    background: var(--turri-color-status-info-background);
    color: var(--turri-color-status-info-foreground);
    border-color: var(--turri-color-border-default);
}

body.turri-woocommerce-form-context :is(.woocommerce-message, .woocommerce-notices-wrapper .woocommerce-message) {
    background: var(--turri-color-status-confirmed-background);
    color: var(--turri-color-status-confirmed-foreground);
    border-color: var(--turri-color-border-default);
}

body.turri-woocommerce-form-context :is(.woocommerce-error, .woocommerce-notices-wrapper .woocommerce-error) {
    background: var(--turri-color-status-error-background);
    color: var(--turri-color-status-error-foreground);
    border-color: var(--turri-color-status-error-foreground);
}

body.turri-woocommerce-form-context :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

body.turri-woocommerce-form-context :is(
    .return-to-shop > .button,
    .woocommerce-orders-table .button,
    .woocommerce-MyAccount-downloads-file.button,
    .woocommerce-PaymentMethods .button,
    .woocommerce-MyAccount-paymentMethods .button,
    .woocommerce-notices-wrapper .button,
    .woocommerce-message > .button,
    .woocommerce-info > .button,
    .woocommerce-error .button,
    .brxe-product-add-to-cart .single_add_to_cart_button,
    form.cart .single_add_to_cart_button,
    #review_form #submit
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--turri-control-content-gap);
    min-height: var(--turri-control-min-block-size);
    min-width: var(--turri-control-min-inline-size);
    padding: var(--turri-control-padding-block) var(--turri-control-padding-inline);
    border: var(--turri-control-border-width) solid var(--turri-color-action-primary-background);
    border-radius: var(--turri-control-radius);
    background: var(--turri-color-action-primary-background);
    color: var(--turri-color-action-primary-foreground);
    font-size: var(--turri-control-label-font-size);
    font-weight: var(--turri-control-label-font-weight);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color var(--turri-control-motion-duration) ease,
        color var(--turri-control-motion-duration) ease,
        border-color var(--turri-control-motion-duration) ease;
}

body.turri-woocommerce-form-context :is(
    .return-to-shop > .button,
    .woocommerce-notices-wrapper .button,
    .woocommerce-message > .button,
    .woocommerce-info > .button,
    .woocommerce-error .button,
    .brxe-product-add-to-cart .single_add_to_cart_button,
    form.cart .single_add_to_cart_button,
    #review_form #submit
):hover:not(:disabled):not([aria-disabled="true"]) {
    background: var(--turri-color-action-primary-hover);
    border-color: var(--turri-color-action-primary-hover);
    color: var(--turri-color-action-primary-foreground);
}

/* Repeated management and supporting cart actions retain lower prominence. */
body.turri-woocommerce-form-context :is(
    .woocommerce-orders-table .button,
    .woocommerce-MyAccount-downloads-file.button,
    .woocommerce-PaymentMethods .button,
    .woocommerce-MyAccount-paymentMethods .button,
    .woocommerce-cart-form button[name="apply_coupon"],
    .woocommerce-cart-form button[name="update_cart"]
) {
    background: var(--turri-color-action-secondary-background);
    border-color: var(--turri-color-action-secondary-border);
    color: var(--turri-color-action-secondary-foreground);
}

body.turri-woocommerce-form-context :is(
    .woocommerce-orders-table .button,
    .woocommerce-MyAccount-downloads-file.button,
    .woocommerce-PaymentMethods .button,
    .woocommerce-MyAccount-paymentMethods .button,
    .woocommerce-cart-form button[name="apply_coupon"],
    .woocommerce-cart-form button[name="update_cart"]
):hover:not(:disabled):not([aria-disabled="true"]) {
    background: var(--turri-color-surface-selected);
    color: var(--turri-color-action-secondary-foreground);
}

body.turri-woocommerce-form-context :is(
    .return-to-shop > .button,
    .woocommerce-orders-table .button,
    .woocommerce-MyAccount-downloads-file.button,
    .woocommerce-notices-wrapper .button,
    .woocommerce-message > .button,
    .woocommerce-info > .button,
    .woocommerce-error .button,
    .brxe-product-add-to-cart .single_add_to_cart_button,
    form.cart .single_add_to_cart_button,
    #review_form #submit
):focus-visible {
    outline: var(--turri-focus-width) solid var(--turri-color-focus-ring);
    outline-offset: var(--turri-focus-offset);
}

body.turri-woocommerce-form-context :is(
    .return-to-shop > .button,
    .woocommerce-orders-table .button,
    .woocommerce-notices-wrapper .button,
    form.cart .single_add_to_cart_button,
    #review_form #submit,
    .woocommerce-cart-form button[name="apply_coupon"],
    .woocommerce-cart-form button[name="update_cart"]
):is(:disabled, [aria-disabled="true"]) {
    background: var(--turri-color-action-primary-disabled-background);
    border-color: var(--turri-color-border-default);
    color: var(--turri-color-action-primary-disabled-foreground);
    cursor: not-allowed;
}

body.turri-woocommerce-form-context form.rwmb-form.mbup-form .rwmb-password-toggle {
    width: var(--turri-control-min-inline-size);
    height: var(--turri-control-min-block-size);
    min-width: var(--turri-control-min-inline-size);
    min-height: var(--turri-control-min-block-size);
    border-radius: var(--turri-control-radius);
    color: var(--turri-color-text-secondary);
}

body.turri-woocommerce-form-context form.rwmb-form.mbup-form .rwmb-password-toggle svg {
    fill: currentColor;
}

body.turri-woocommerce-form-context form.rwmb-form.mbup-form .rwmb-password-wrapper input {
    padding-inline-end: calc(var(--turri-control-min-inline-size) + var(--turri-form-field-internal-gap));
}

body.turri-woocommerce-form-context form.rwmb-form.mbup-form .rwmb-password-toggle:focus-visible {
    outline: var(--turri-focus-width) solid var(--turri-color-focus-ring);
    outline-offset: calc(-1 * var(--turri-focus-width));
}

/* Public WC field-helper choices: the label is the complete hit target. */
body.turri-woocommerce-form-context :is(
    form.woocommerce-EditAccountForm,
    form.woocommerce-ResetPassword,
    .woocommerce-address-fields,
    .turri-checkout,
    form.woocommerce-form-track-order
) :is(label.checkbox, label.radio) {
    display: inline-flex;
    align-items: center;
    gap: var(--turri-control-content-gap);
    min-height: var(--turri-control-min-block-size);
    cursor: pointer;
}

/* SelectWoo mounts its popup outside the field. Only WC location IDs opt in. */
body.turri-woocommerce-form-context .select2-dropdown:has(:is(
    #select2-billing_country-results, #select2-billing_state-results,
    #select2-shipping_country-results, #select2-shipping_state-results,
    #select2-calc_shipping_country-results, #select2-calc_shipping_state-results
)) {
    border: var(--turri-control-border-width) solid var(--turri-color-border-default);
    border-radius: var(--turri-control-radius);
    background: var(--turri-color-surface-default);
    color: var(--turri-color-text-primary);
    font-size: var(--turri-form-control-font-size);
}

body.turri-woocommerce-form-context .select2-dropdown:has(:is(
    #select2-billing_country-results, #select2-billing_state-results,
    #select2-shipping_country-results, #select2-shipping_state-results,
    #select2-calc_shipping_country-results, #select2-calc_shipping_state-results
)) .select2-search__field {
    min-height: var(--turri-control-min-block-size);
    border: var(--turri-control-border-width) solid var(--turri-color-border-default);
    border-radius: var(--turri-control-radius);
    background: var(--turri-color-surface-default);
    color: var(--turri-color-text-primary);
    font-size: var(--turri-form-control-font-size);
}

body.turri-woocommerce-form-context :is(
    #select2-billing_country-results, #select2-billing_state-results,
    #select2-shipping_country-results, #select2-shipping_state-results,
    #select2-calc_shipping_country-results, #select2-calc_shipping_state-results
) .select2-results__option {
    min-height: var(--turri-control-min-block-size);
    padding: var(--turri-form-field-internal-gap) var(--turri-form-control-padding-inline);
    color: var(--turri-color-text-primary);
}

body.turri-woocommerce-form-context :is(
    #select2-billing_country-results, #select2-billing_state-results,
    #select2-shipping_country-results, #select2-shipping_state-results,
    #select2-calc_shipping_country-results, #select2-calc_shipping_state-results
) :is(.select2-results__option--highlighted, [aria-selected="true"]) {
    background: var(--turri-color-surface-selected);
    color: var(--turri-color-action-secondary-foreground);
}

body.turri-woocommerce-form-context :is(
    #billing_country_field, #billing_state_field, #shipping_country_field,
    #shipping_state_field, .woocommerce-shipping-calculator
) :is(.select2-container--focus, .select2-container--open) .select2-selection--single {
    border-color: var(--turri-color-focus-ring);
    outline: var(--turri-focus-width) solid var(--turri-color-focus-ring);
    outline-offset: var(--turri-focus-offset);
}

body.turri-woocommerce-form-context :is(
    #billing_country_field, #billing_state_field,
    #shipping_country_field, #shipping_state_field
).woocommerce-invalid .select2-selection--single {
    border-color: var(--turri-color-status-error-foreground);
    background: var(--turri-color-status-error-background);
}

body.turri-woocommerce-form-context :is(
    form.rwmb-form.mbup-form,
    form.woocommerce-EditAccountForm,
    form.woocommerce-ResetPassword,
    .woocommerce-address-fields,
    .turri-checkout
) :is(input.input-text, input.rwmb-text, input.rwmb-password, textarea)[readonly] {
    background: var(--turri-color-surface-subtle);
    color: var(--turri-color-text-secondary);
}

body.turri-woocommerce-form-context :is(
    form.rwmb-form.mbup-form,
    form.woocommerce-EditAccountForm,
    form.woocommerce-ResetPassword,
    .woocommerce-address-fields,
    .turri-checkout
) input:-webkit-autofill {
    -webkit-text-fill-color: var(--turri-color-text-primary);
    box-shadow: 0 0 0 1000px var(--turri-color-surface-default) inset;
    caret-color: var(--turri-color-text-primary);
}

body.turri-woocommerce-form-context .woocommerce-password-strength:is(.short, .bad) {
    background: var(--turri-color-status-error-background);
    color: var(--turri-color-status-error-foreground);
}

body.turri-woocommerce-form-context .woocommerce-password-strength.good {
    background: var(--turri-color-status-pending-background);
    color: var(--turri-color-status-pending-foreground);
}

body.turri-woocommerce-form-context .woocommerce-password-strength.strong {
    background: var(--turri-color-status-confirmed-background);
    color: var(--turri-color-status-confirmed-foreground);
}

body.turri-woocommerce-form-context .woocommerce-MyAccount-navigation li.is-active > a {
    background: var(--turri-color-surface-selected);
    color: var(--turri-color-action-secondary-foreground);
}

body.turri-woocommerce-form-context .woocommerce-MyAccount-content .shop_table {
    background: var(--turri-color-surface-default);
    color: var(--turri-color-text-primary);
    border-color: var(--turri-color-border-default);
}

@media (prefers-reduced-motion: reduce) {
    body.turri-woocommerce-form-context :is(.return-to-shop > .button, form.cart .single_add_to_cart_button, #review_form #submit) {
        transition-duration: var(--turri-motion-reduced-duration);
    }
}

/* MetaBox sets its checkbox width on .rwmb-input; preserve the shared choice. */
body.turri-woocommerce-form-context form.rwmb-form.mbup-form .rwmb-input input[type="checkbox"] {
    flex: 0 0 var(--turri-form-choice-size);
    width: var(--turri-form-choice-size);
    min-width: var(--turri-form-choice-size);
    height: var(--turri-form-choice-size);
}

/* The provider assigns direct price children a color independently of the container. */
body.turri-woocommerce-form-context.single-product .brxe-product-price,
body.turri-woocommerce-form-context.single-product .brxe-product-price .price > span {
    color: var(--turri-color-text-primary);
}

body.turri-woocommerce-form-context.single-product .brxe-product-price del {
    color: var(--turri-color-text-secondary);
}

body.turri-woocommerce-form-context form.woocommerce-EditAccountForm #account_display_name_description {
    color: var(--turri-form-secondary);
    font-size: var(--turri-form-help-font-size);
    line-height: var(--turri-help-line-height);
}

/* Preserve the native quantity owner while sharing the control surface. */
body.turri-woocommerce-form-context.single-product form.cart .quantity {
    min-height: var(--turri-control-min-block-size);
    color: var(--turri-form-foreground);
}

body.turri-woocommerce-form-context.single-product form.cart .quantity :is(input.qty, .plus, .minus) {
    min-height: var(--turri-control-min-block-size);
    min-width: var(--turri-control-min-inline-size);
    font-size: var(--turri-form-control-font-size);
    color: var(--turri-form-foreground);
}

body.turri-woocommerce-form-context.single-product form.cart .quantity input.qty {
    border-width: var(--turri-control-border-width);
    border-color: var(--turri-form-border);
    border-radius: var(--turri-control-radius);
    background: var(--turri-form-surface);
}

body.turri-woocommerce-form-context.single-product form.cart .quantity input.qty:focus-visible {
    outline: var(--turri-focus-width) solid var(--turri-form-focus);
    outline-offset: var(--turri-focus-offset);
}
