/* Replicates the style from the wooecom-premium example */
/* Hide all WooCommerce default add to cart elements including variable products */
.single-product form.cart,
.single-product .cart,
.single-product .woocommerce-variation-add-to-cart,
.single-product .single_add_to_cart_button,
.single-product button[name="add-to-cart"],
.single-product input[name="add-to-cart"],
.single-product .add_to_cart_button,
.single-product .product_type_simple,
.single-product .product_type_variable .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart,
.woocommerce div.product .cart,
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button[name="add-to-cart"],
.woocommerce div.product input[name="add-to-cart"],
.woocommerce #content div.product form.cart,
.woocommerce-page div.product form.cart,
.woocommerce-page div.product .cart,
.woocommerce-page #content div.product form.cart,
/* Specific targeting for variable products */
.ucf-form-wrapper .woocommerce-variation-add-to-cart,
.ucf-form-wrapper .single_add_to_cart_button,
.ucf-form-wrapper button[name="add-to-cart"],
.ucf-form-wrapper .quantity,
.ucf-form-wrapper .woocommerce-variation-add-to-cart .quantity,
.single_variation_wrap .woocommerce-variation-add-to-cart,
.single_variation_wrap .single_add_to_cart_button,
.single_variation_wrap button[name="add-to-cart"],
.single_variation_wrap .quantity { 
    display: none !important; 
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.ucf-form-wrapper { border: 1px solid #d9d9d9; padding: 15px; margin: 20px 0; background: var(--ucf-form-bg); }
.ucf_form_fields { display: flex; flex-wrap: wrap; gap: 15px; }
.ucf_information_title { width: 100%; margin: 0 0 10px; font-weight: bold; }
.ucf_form_fields > input, .ucf_form_fields > select, .ucf_form_fields > textarea { width: calc(50% - 8px) !important; border: 1px solid #d9d9d9 !important; border-radius: 5px !important; padding: 12px 10px !important; height: auto !important; }
.ucf_form_fields > textarea { width: 100% !important; }
/* Custom variation fields styling */
.ucf-custom-variations { width: 100% !important; }
.ucf-variation-field { width: 100% !important; margin-bottom: 15px; }
.ucf-variation-select { width: 100% !important; border: 1px solid #d9d9d9 !important; border-radius: 5px !important; padding: 12px 10px !important; height: auto !important; background: #fff !important; }
.ucf-variation-select:focus { box-shadow: 0 0 0 2px var(--ucf-button-bg) !important; outline: none !important; }
.ucf_form_fields > input:focus, .ucf_form_fields > select:focus, .ucf_form_fields > textarea:focus { box-shadow: 0 0 0 2px var(--ucf-button-bg) !important; outline: none; }
.ucf-actions-wrapper { width: 100%; display: flex; gap: 15px; }
.ucf-checkout-button { flex-grow: 1; display: flex; align-items: center; justify-content: center; border-radius: 5px; padding: 15px; border: 1px solid transparent; background: var(--ucf-button-bg); color: var(--ucf-button-text); font-weight: bold; cursor: pointer; transition: all .3s ease; }
.ucf-checkout-button:hover { background: var(--ucf-button-text); color: var(--ucf-button-bg); border-color: var(--ucf-button-border); }
.ucf-quantity { width: 120px; display: flex; align-items: center; border: 1px solid #d9d9d9; border-radius: 5px; }
.ucf-quantity input { width: 100%; text-align: center; border: none !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.ucf-plus, .ucf-minus { width: 40px; text-align: center; cursor: pointer; background: #f5f5f5; height: 100%; line-height: 48px; user-select: none; }
.ucf-minus { border-right: 1px solid #d9d9d9; border-radius: 5px 0 0 5px; }
.ucf-plus { border-left: 1px solid #d9d9d9; border-radius: 0 5px 5px 0; }
.ucf-order-summary { width: 100%; margin-top: 15px; }
.ucf-summary-head { display: flex; align-items: center; justify-content: space-between; background: var(--ucf-summary-bg); color: var(--ucf-summary-text); padding: 15px; border: 1px solid #d9d9d9; cursor: pointer; }
.ucf-summary-title { font-weight: bold; }
.ucf-arrow-down { border: solid var(--ucf-summary-text); border-width: 0 2px 2px 0; display: inline-block; padding: 3px; transform: rotate(45deg); transition: transform 0.3s ease; }
.ucf-order-summary.active .ucf-arrow-down { transform: rotate(-135deg); }
.ucf-price-table { display: none; border: 1px solid #d9d9d9; border-top: none; }
.ucf-order-summary.active .ucf-price-table { display: block; }
.ucf-price-table table { width: 100%; border-collapse: collapse; }
.ucf-price-table td { padding: 15px; border-bottom: 1px solid #d9d9d9; }
.ucf-price-table tr:last-child td { border-bottom: none; }
.ucf-price-table .product-price, .ucf-price-table .total-price { text-align: right; }
.ucf-order-qty { background: var(--ucf-button-bg); color: var(--ucf-button-text); padding: 2px 6px; border-radius: 4px; font-size: 11px; margin-right: 5px; }
.ucf-form-message { width: 100%; margin-top: 15px; padding: 10px; border-radius: 4px; display: none; }
.ucf-form-message.success { background-color: #d4edda; color: #155724; }
.ucf-form-message.error { background-color: #f8d7da; color: #721c24; }

/* Sticky Footer for Mobile */
.ucf-sticky-footer { display: none; }
@media (max-width: 767px) {
    .ucf-sticky-footer { position: fixed; bottom: 0; left: 0; width: 100%; padding: 10px; background: #fff; z-index: 1000; border-top: 1px solid #d9d9d9; display: flex; align-items: center; justify-content: center; gap: 10px; }
    .ucf-buy-now { flex-grow: 1; padding: 12px; border-radius: 5px; text-decoration: none !important; text-align: center; background: var(--ucf-button-bg); color: var(--ucf-button-text); font-weight: bold; }
    .ucf-footer-icons a { color: var(--ucf-button-bg); font-size: 24px; }
    .ucf_form_fields > input, .ucf_form_fields > select, .ucf_form_fields > textarea { width: 100% !important; }
    .ucf-actions-wrapper { flex-direction: column; }
    .ucf-quantity { width: 100%; }
}