/*
 * Jerarquía visual de acciones WooCommerce.
 * Alcance: tienda, producto, relacionados, carrito y checkout.
 */
:root {
    --lmr-woo-primary: #173e2d;
    --lmr-woo-primary-hover: #1a3c2a;
    --lmr-woo-secondary: #faf6f0;
    --lmr-woo-delicate: #c4703f;
    --lmr-woo-delicate-ink: #9f4d28;
    --lmr-woo-link: #173e2d;
}

/* Base común: sustituye la píldora heredada del personalizador solo en WooCommerce. */
.woocommerce-page :where(a.button, button.button, input.button, .button),
.woocommerce :where(a.button, button.button, input.button, .button) {
    min-height: 48px;
    padding: 0.75rem 1rem !important;
    border: 1px solid var(--lmr-woo-primary) !important;
    border-radius: 8px !important;
    background-image: none !important;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
}

/* Primaria: comprar, añadir al carrito, finalizar y realizar pedido. */
.woocommerce-page :where(
    ul.products li.product a.button.add_to_cart_button,
    ul.products li.product a.button.product_type_variable,
    ul.products li.product a.button.product_type_grouped,
    ul.products li.product a.button.product_type_external,
    div.product form.cart .single_add_to_cart_button,
    .wc-proceed-to-checkout a.checkout-button,
    #place_order
) {
    border-color: var(--lmr-woo-primary) !important;
    background: var(--lmr-woo-primary) !important;
    color: var(--lmr-woo-secondary) !important;
}

.woocommerce-page :where(
    ul.products li.product a.button.add_to_cart_button,
    ul.products li.product a.button.product_type_variable,
    ul.products li.product a.button.product_type_grouped,
    ul.products li.product a.button.product_type_external,
    div.product form.cart .single_add_to_cart_button,
    .wc-proceed-to-checkout a.checkout-button,
    #place_order
):hover,
.woocommerce-page :where(
    ul.products li.product a.button.add_to_cart_button,
    ul.products li.product a.button.product_type_variable,
    ul.products li.product a.button.product_type_grouped,
    ul.products li.product a.button.product_type_external,
    div.product form.cart .single_add_to_cart_button,
    .wc-proceed-to-checkout a.checkout-button,
    #place_order
):focus-visible {
    border-color: var(--lmr-woo-primary-hover) !important;
    background: var(--lmr-woo-primary-hover) !important;
    color: var(--lmr-woo-secondary) !important;
}

/* Alternativa: leer más, actualizar, cupón, envío y login auxiliar. */
.woocommerce-page :where(
    ul.products li.product a.button:not(.add_to_cart_button),
    button[name="apply_coupon"],
    button[name="update_cart"],
    button[name="calc_shipping"],
    button[name="woocommerce_checkout_update_totals"],
    .woocommerce-form-login__submit
) {
    border-color: var(--lmr-woo-primary) !important;
    background: var(--lmr-woo-secondary) !important;
    color: var(--lmr-woo-primary) !important;
}

.woocommerce-page :where(
    ul.products li.product a.button:not(.add_to_cart_button),
    button[name="apply_coupon"],
    button[name="update_cart"],
    button[name="calc_shipping"],
    button[name="woocommerce_checkout_update_totals"],
    .woocommerce-form-login__submit
):hover,
.woocommerce-page :where(
    ul.products li.product a.button:not(.add_to_cart_button),
    button[name="apply_coupon"],
    button[name="update_cart"],
    button[name="calc_shipping"],
    button[name="woocommerce_checkout_update_totals"],
    .woocommerce-form-login__submit
):focus-visible {
    background: #fff !important;
    color: var(--lmr-woo-primary-hover) !important;
}

/* Delicadas: eliminar del carrito y acciones de cancelación. */
.woocommerce-page :where(a.remove, .remove_from_cart_button) {
    min-height: 44px;
    padding: 0.4rem 0.6rem !important;
    border: 1px solid var(--lmr-woo-delicate) !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--lmr-woo-delicate-ink) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.woocommerce-page :where(a.remove, .remove_from_cart_button):hover,
.woocommerce-page :where(a.remove, .remove_from_cart_button):focus-visible {
    background: #fff5ef !important;
    color: var(--lmr-woo-delicate-ink) !important;
}

/* Enlaces transaccionales y legales: verde bosque, no verde lima. */
.woocommerce-page :where(
    a:not(.button):not(.remove):not(.checkout-button),
    .woocommerce-privacy-policy-text a,
    .woocommerce-form-login-toggle a,
    .woocommerce-form-coupon-toggle a
) {
    color: var(--lmr-woo-link);
    text-decoration-color: currentColor;
    text-underline-offset: 0.16em;
}

.woocommerce-page :where(
    a:not(.button):not(.remove):not(.checkout-button),
    .woocommerce-privacy-policy-text a,
    .woocommerce-form-login-toggle a,
    .woocommerce-form-coupon-toggle a
):hover,
.woocommerce-page :where(
    a:not(.button):not(.remove):not(.checkout-button),
    .woocommerce-privacy-policy-text a,
    .woocommerce-form-login-toggle a,
    .woocommerce-form-coupon-toggle a
):focus-visible {
    color: var(--lmr-woo-primary-hover);
}

/* Disabled: legible y claramente inactivo, sin depender solo de opacidad. */
.woocommerce-page :where(button:disabled, input:disabled, .button.disabled, .button:disabled) {
    border-color: #9ca9a1 !important;
    background: #e5e9e6 !important;
    color: #536158 !important;
    cursor: not-allowed;
    opacity: 1;
}

@media (max-width: 620px) {
    .woocommerce-page :where(
        a.button,
        button.button,
        input.button,
        .button,
        div.product form.cart .single_add_to_cart_button,
        .wc-proceed-to-checkout a.checkout-button,
        #place_order
    ) {
        width: 100%;
        min-height: 48px;
    }
}
