/* ============================================
   FunnelKit Checkout Overrides
   montereycompany.com
   
   This file contains ONLY the styles needed for
   FunnelKit checkout branding and layout fixes.
   Load conditionally on checkout pages only.
   
   After SASS audit fix (March 2026), the global
   !important rules in _custom.scss were removed,
   so most contra-overrides are no longer needed.
   What remains here are intentional customizations.
   ============================================ */

/* ============================================
   1. INPUTS — Clean borders for checkout forms
   ============================================ */

#wfacp-e-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#wfacp-e-form select,
#wfacp-e-form textarea {
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
}

#wfacp-e-form input:focus,
#wfacp-e-form select:focus,
#wfacp-e-form textarea:focus {
    border-color: #0274BE !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(2, 116, 190, 0.2) !important;
}

/* ============================================
   2. PLACE ORDER BUTTON
   ============================================ */

#wfacp-e-form button#place_order,
#wfacp-e-form button.wfacp_next_page_button,
#wfacp-e-form .wfacp-next-btn-wrap button,
#wfacp-e-form .wfacp_order_place_btn_wrap button {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 8px !important;
    padding: 18px 30px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: block !important;
    background-color: #0274BE !important;
    color: #ffffff !important;
    border: none !important;
    transition: background-color 0.3s ease !important;
}

#wfacp-e-form button#place_order:hover,
#wfacp-e-form button.wfacp_next_page_button:hover {
    background-color: #034d7f !important;
    opacity: 1 !important;
}

/* ============================================
   3. COUPON SECTION — Clean style
   ============================================ */

#wfacp-e-form .wfacp_mini_cart_coupon,
#wfacp-e-form .wfacp_coupon_field_box,
#wfacp-e-form .wfacp-coupon-section {
    background: transparent !important;
    padding: 15px 0 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Coupon input */
#wfacp-e-form input.wfacp_coupon_input,
#wfacp-e-form input.wfacp_coupon_field_input,
#wfacp-e-form .wfacp_mini_cart_coupon input,
.wfacp_mini_cart_start_h input.wfacp_coupon_input,
.wfacp_mini_cart_start_h input.wfacp_coupon_field_input,
.wfacp_mini_cart_start_h .wfacp_mini_cart_coupon input,
.wfacp_mini_cart_start_h input[name="coupon_code"],
#wfacp_mini_cart_start_h input[name="coupon_code"] {
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    height: auto !important;
    min-height: 44px !important;
}

/* Coupon button */
#wfacp-e-form button.wfacp-coupon-btn,
#wfacp-e-form button.wfacp-coupon-field-btn,
#wfacp-e-form .wfacp_mini_cart_coupon button {
    border-radius: 4px !important;
    background-color: #0274BE !important;
    color: #FFFFFF !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    width: auto !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}

#wfacp-e-form button.wfacp-coupon-btn:hover,
#wfacp-e-form button.wfacp-coupon-field-btn:hover {
    background-color: #025186 !important;
}

/* Coupon form container in mini cart */
.wfacp_mini_cart_start_h form.checkout_coupon,
.wfacp_mini_cart_start_h form.checkout_coupon.wfacp_display_block {
    background: transparent !important;
    padding: 15px 0 !important;
    border-radius: 0 !important;
    border: none !important;
}

/* ============================================
   4. CHECKBOX & RADIO — Proper shapes
   ============================================ */

#wfacp-e-form input[type="checkbox"] {
    border-radius: 3px !important;
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
}

#wfacp-e-form input[type="radio"] {
    border-radius: 50% !important;
    -webkit-appearance: radio !important;
    appearance: radio !important;
}

/* ============================================
   5. ADDITIONAL NOTES — Remove shadow/card
   ============================================ */

#wfacp-e-form .wfacp-section.wfacp_additional_fields,
#wfacp-e-form .woocommerce-additional-fields,
#wfacp-e-form .woocommerce-additional-fields__field-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

#wfacp-e-form .wfacp-section:empty {
    display: none !important;
}

#wfacp-e-form #order_comments,
#wfacp-e-form textarea.wfacp-form-control {
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    min-height: 100px !important;
    padding: 20px 12px 12px !important;
    margin-top: -7px !important;
}

/* Fix: Order Notes label overlaps with placeholder text */
#wfacp-e-form .wfacp_textarea_fields label.wfacp-form-control-label,
#wfacp-e-form label[for="order_comments"] {
    top: -2px !important;
    font-size: 12px !important;
    background: #fff !important;
    padding: 0 4px !important;
    margin-top: 0 !important;
    z-index: 10 !important;
}

/* ============================================
   6. WOOCOMMERCE MESSAGES — Clean style
   ============================================ */

#wfacp-e-form .woocommerce-message,
#wfacp-e-form .woocommerce-info,
#wfacp-e-form .woocommerce-error {
    border-radius: 4px !important;
    box-shadow: none !important;
    margin: 10px 0 !important;
}

/* ============================================
   7. STRIPE ELEMENTS
   ============================================ */

#wfacp-e-form .fkwcs-stripe-elements,
#wfacp-e-form .fkwcs_stripe_card_form,
#wfacp-e-form .wc-stripe-elements-field {
    background: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 12px !important;
}

/* ============================================
   8. AVATAX VALIDATE ADDRESS — Hide
   ============================================ */

#wfacp-e-form button.wc_avatax_validate_address,
#wfacp-e-form .wc_avatax_validate_address {
    display: none !important;
}

/* ============================================
   9. MINI CART SIDEBAR
   ============================================ */

.wfacp_mini_cart_start_h,
.wfacp_wrapper_start.wfacp_mini_cart_start_h,
#wfacp_mini_cart_start_h {
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 20px !important;
}

.wfacp_mini_cart_start_h *,
#wfacp_mini_cart_start_h * {
    box-shadow: none !important;
}

/* ============================================
   10. QUANTITY SELECTOR — Mini cart
   ============================================ */

.wfacp_quantity_selector input,
.wfacp_quantity_selector input[type="number"],
.wfacp_quantity_selector .wfacp_product_quantity_number_field {
    width: 40px !important;
    height: 28px !important;
    font-size: 14px !important;
    padding: 4px !important;
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
}

.wfacp_quantity_selector input::-webkit-outer-spin-button,
.wfacp_quantity_selector input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.wfacp_quantity_selector .value-button,
.wfacp_quantity_selector .wfacp_decrease_item,
.wfacp_quantity_selector .wfacp_increase_item {
    width: 28px !important;
    height: 28px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Quantity badge on product image */
.wfacp-qty-ball,
.wfacp-qty-count {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wfacp-pro-count {
    font-size: 11px !important;
    line-height: 1 !important;
}

/* Full reset for mini cart quantity layout */
.wfacp_mini_cart_start_h .wfacp_quantity_selector {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    position: relative !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector .value-button {
    position: relative !important;
    float: none !important;
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    text-align: center !important;
    border: 1px solid #ddd !important;
    background: #f5f5f5 !important;
    cursor: pointer !important;
    display: block !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_decrease_item {
    border-radius: 4px 0 0 4px !important;
    border-right: none !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_increase_item {
    border-radius: 0 4px 4px 0 !important;
    border-left: none !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector input {
    position: relative !important;
    float: none !important;
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    text-align: center !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    -moz-appearance: textfield !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector input::-webkit-outer-spin-button,
.wfacp_mini_cart_start_h .wfacp_quantity_selector input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.wfacp_mini_cart_start_h .wfacp_quantity_selector input.wfacp_mini_cart_update_qty,
.wfacp_mini_cart_start_h .wfacp_quantity_selector input.wfacp_product_quantity_number_field,
#wfacp_mini_cart_start_h .wfacp_quantity_selector input {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
}

/* Hide duplicate pseudo-elements */
.wfacp_mini_cart_start_h .wfacp_quantity_selector .value-button::before,
.wfacp_mini_cart_start_h .wfacp_quantity_selector .value-button::after,
.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_decrease_item::before,
.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_decrease_item::after,
.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_increase_item::before,
.wfacp_mini_cart_start_h .wfacp_quantity_selector .wfacp_increase_item::after {
    display: none !important;
    content: none !important;
}

/* ============================================
   11. BREADCRUMB & LAYOUT SPACING
   ============================================ */

#wfacp-e-form .wfacp_steps_sec {
    margin-top: -46px !important;
}

.woocommerce-form-login-toggle {
    margin-top: -80px !important;
}

@media (max-width: 767px) {
    #wfacp-e-form .wfacp_steps_sec {
        margin-top: 1px !important;
    }

    .woocommerce-form-login-toggle {
        margin-top: 50px !important;
    }

    #wfacp-e-form .wfacp_main_form.woocommerce .wfacp_steps_wrap {
        margin-top: 50px !important;
    }
}

/* ============================================
   12. ELEMENTOR TEMPLATE OVERRIDES
   ============================================ */

.elementor-137257 .elementor-element.elementor-element-4de42d99:not(.elementor-motion-effects-element-type-background),
.elementor-137257 .elementor-element.elementor-element-4de42d99>.elementor-motion-effects-container>.elementor-motion-effects-layer {
    background: transparent !important;
}

.elementor-137257 .elementor-element.elementor-element-7b98a626:not(.elementor-motion-effects-element-type-background),
.elementor-137257 .elementor-element.elementor-element-7b98a626>.elementor-motion-effects-container>.elementor-motion-effects-layer {
    background: transparent !important;
}

.elementor-137257 .elementor-element.elementor-element-7b98a626 {
    box-shadow: none !important;
}

/* ============================================
   13. HIDE UNWANTED ELEMENTS
   ============================================ */

#gpay-button-online-api-id {
    display: none !important;
}

/* Hide "Select an option" in mini cart */
body #wfacp-sec-wrapper a.wfacp_qv-button.var_product.wfacp_select_option,
body a.wfacp_qv-button.var_product.wfacp_select_option {
    display: none !important;
}

/* Hide select option on order bumps */
.wfob_qv-button.var_product {
    display: none !important;
}

/* Sidebar cart select options */
.fkcart-select-options,
#fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-item-meta-content .fkcart-select-options {
    display: none !important;
}

/* Hide Union Pay and JCB card icons */
img[title="Union Pay"],
img[title="JCB"] {
    display: none !important;
}

/* ============================================
   14. SHIPPING CALCULATOR
   ============================================ */

#shipping_calculator_field>div.border {
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding: 5px !important;
}

/* ============================================
   15. NATIVE WOOCOMMERCE CHECKOUT BUTTON
   ============================================ */

.woocommerce-page.woocommerce-checkout #payment button#place_order {
    background-color: #0274BE !important;
}

.woocommerce-page.woocommerce-checkout #payment button#place_order:hover {
    background-color: #034d7f !important;
}