.elementor-620 .elementor-element.elementor-element-8f4d085{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-620 .elementor-element.elementor-element-b3a0823{--display:flex;--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-620 .elementor-element.elementor-element-317f186{--display:flex;--min-height:0px;--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-620 .elementor-element.elementor-element-9d1eb83{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-620 .elementor-element.elementor-element-9d1eb83 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:28px;font-weight:600;color:#1E1B18;}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-620 .elementor-element.elementor-element-e0e05f2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-620 .elementor-element.elementor-element-e0e05f2.elementor-element{--align-self:flex-start;--order:99999 /* order end hack */;}.woocommerce .elementor-620 .elementor-element.elementor-element-e0e05f2 .price{color:#000000;font-family:"Plus Jakarta Sans", Sans-serif;font-size:20px;font-weight:600;}.woocommerce .elementor-620 .elementor-element.elementor-element-e0e05f2 .price ins{color:#FF0505;}body:not(.rtl) .elementor-620 .elementor-element.elementor-element-e0e05f2:not(.elementor-product-price-block-yes) del{margin-right:8px;}body.rtl .elementor-620 .elementor-element.elementor-element-e0e05f2:not(.elementor-product-price-block-yes) del{margin-left:8px;}.elementor-620 .elementor-element.elementor-element-e0e05f2.elementor-product-price-block-yes del{margin-bottom:8px;}.elementor-620 .elementor-element.elementor-element-f71e3b9{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-620 .elementor-element.elementor-element-7c86118.elementor-element{--align-self:flex-start;}.elementor-620 .elementor-element.elementor-element-7c86118{text-align:start;}.elementor-620 .elementor-element.elementor-element-89e684c.elementor-element{--align-self:flex-start;}.elementor-620 .elementor-element.elementor-element-333bd65{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-620 .elementor-element.elementor-element-221acea{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--view-cart-spacing:0px;}.elementor-620 .elementor-element.elementor-element-221acea .cart button, .elementor-620 .elementor-element.elementor-element-221acea .cart .button{font-family:"Inter", Sans-serif;font-size:15px;font-weight:500;text-transform:capitalize;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;color:#FFFFFF;background-color:#000000;transition:all 0.2s;}.elementor-620 .elementor-element.elementor-element-221acea .cart button:hover, .elementor-620 .elementor-element.elementor-element-221acea .cart .button:hover{color:#FFFFFF;background-color:#424242;}.elementor-620 .elementor-element.elementor-element-221acea .added_to_cart{color:#000000;}.elementor-620 .elementor-element.elementor-element-221acea .quantity .qty{transition:all 0.2s;}.elementor-620 .elementor-element.elementor-element-fe6e932{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-9506a28{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-tabs ul.wc-tabs li a{color:#000000;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-tabs ul.wc-tabs li{background-color:#FFF6F6;border-color:#FFFFFF;border-radius:15px 15px 0 0;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-tabs .woocommerce-Tabs-panel{border-color:#FFFFFF;border-width:0px 0px 0px 0px;margin-top:-0px;border-radius:0px 0px 0px 0px;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-Tabs-panel{color:#080808;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-Tabs-panel h2{color:#000000;}.woocommerce .elementor-620 .elementor-element.elementor-element-9506a28 .woocommerce-tabs ul.wc-tabs{margin-left:0px;margin-right:0px;}.elementor-620 .elementor-element.elementor-element-043b86c{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:start;--align-items:start;}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products .products > h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product{text-align:center;}.elementor-620 .elementor-element.elementor-element-1868ff3{padding:0px 0px 100px 0px;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:18px;font-weight:600;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products .products > h2{color:#212121;text-align:start;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Roboto", Sans-serif;font-size:15px;font-weight:600;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price del{color:#6F6F6F;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price del .amount{color:#6F6F6F;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .price del {font-family:"Roboto", Sans-serif;font-size:14px;font-weight:600;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product .button{color:#02010100;background-color:#02010100;border-color:#02010100;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products .added_to_cart{color:#000000;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(min-width:768px){.elementor-620 .elementor-element.elementor-element-f71e3b9{--width:83%;}.elementor-620 .elementor-element.elementor-element-333bd65{--width:83%;}}@media(max-width:1024px){.elementor-620 .elementor-element.elementor-element-8f4d085{--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-fe6e932{--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-043b86c{--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-620 .elementor-element.elementor-element-8f4d085{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-fe6e932{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-043b86c{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-620 .elementor-element.elementor-element-1868ff3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for html, class: .elementor-element-89e684c */.pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.pill{
  font-size:13px;
  color:#333;
  background:#fff;
  border:1px solid #d9d9d9;
  padding:6px 14px;
  white-space:nowrap;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f71e3b9 */// 1. Inject Engraving Field & JavaScript Force-Square Fix
add_action( 'woocommerce_before_add_to_cart_button', 'marble_luxoria_inject_engraving_field' );
function marble_luxoria_inject_engraving_field() {
    ?>
    <style>
        .custom-engraving-wrap {
            flex: 0 0 100% !important;
            width: 100% !important;
            clear: both !important;
            margin-bottom: 15px;
        }
    </style>
    <div class="custom-engraving-wrap">
        <div style="padding: 15px; border: 1px solid #e2e8f0; border-radius: 8px; background: #ffffff; box-sizing: border-box;">
            <label for="custom_engraved_name" style="display: block; font-weight: 600; margin-bottom: 8px; color: #1e293b; font-size: 14px;">Custom Name Engraving (Optional)</label>
            <div style="display: flex; gap: 10px; align-items: center;">
                <input type="text" id="custom_engraved_name" name="custom_engraved_name" placeholder="Enter name to engrave..." style="flex: 1; padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14px; background: #ffffff; width: 100%; box-sizing: border-box;" />
                <span id="engraving-price-tag" style="font-weight: 600; color: #dc2626; background: #fee2e2; padding: 10px 12px; border-radius: 6px; font-size: 13px; display: none; white-space: nowrap;">+ Rs. 999</span>
            </div>
        </div>
    </div>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Input price toggle logic
        var input = document.getElementById('custom_engraved_name');
        var priceTag = document.getElementById('engraving-price-tag');
        if(input) {
            input.addEventListener('input', function() {
                if(this.value.trim().length > 0) {
                    priceTag.style.display = 'inline-block';
                } else {
                    priceTag.style.display = 'none';
                }
            });
        }

        // Force size swatches to square via JS
        setTimeout(function() {
            var swatches = document.querySelectorAll('.variable-item, .ast-swatch-item, .swatch-item, .woo-variation-swatches .variable-item');
            swatches.forEach(function(el) {
                el.style.setProperty('border-radius', '4px', 'important');
            });
        }, 500);
    });
    </script>
    <?php
}

// 2. Save Custom Name into Cart Item
add_filter( 'woocommerce_add_cart_item_data', 'marble_luxoria_save_custom_engraving', 10, 2 );
function marble_luxoria_save_custom_engraving( $cart_item_data, $product_id ) {
    if ( isset( $_POST['custom_engraved_name'] ) && trim( $_POST['custom_engraved_name'] ) !== '' ) {
        $cart_item_data['custom_engraved_name'] = sanitize_text_field( $_POST['custom_engraved_name'] );
        $cart_item_data['unique_key'] = md5( microtime() );
    }
    return $cart_item_data;
}

// 3. Add Rs. 999 Fee dynamically in Cart & Checkout
add_action( 'woocommerce_cart_calculate_fees', 'marble_luxoria_add_engraving_fee' );
function marble_luxoria_add_engraving_fee( $cart ) {
    if ( is_admin() && ! defined( 'AJAX_REQUEST' ) ) {
        return;
    }
    
    $engraving_count = 0;
    foreach ( $cart->get_cart() as $cart_item ) {
        if ( isset( $cart_item['custom_engraved_name'] ) && trim( $cart_item['custom_engraved_name'] ) !== '' ) {
            $engraving_count += $cart_item['quantity'];
        }
    }
    
    if ( $engraving_count > 0 ) {
        $fee_amount = 999 * $engraving_count;
        $cart->add_fee( 'Custom Engraving Fee', $fee_amount, true );
    }
}

// 4. Display Custom Name in Cart Item Details
add_filter( 'woocommerce_get_item_data', 'marble_luxoria_display_custom_engraving_cart', 10, 2 );
function marble_luxoria_display_custom_engraving_cart( $item_data, $cart_item ) {
    if ( isset( $cart_item['custom_engraved_name'] ) ) {
        $item_data[] = array(
            'key'   => 'Custom Engraved Name',
            'value' => $cart_item['custom_engraved_name'],
        );
    }
    return $item_data;
}

// 5. Save Engraving Name in Admin Order Details
add_action( 'woocommerce_checkout_create_order_line_item', 'marble_luxoria_save_order_engraving_meta', 10, 4 );
function marble_luxoria_save_order_engraving_meta( $item, $cart_item_key, $values, $cart_item ) {
    if ( isset( $values['custom_engraved_name'] ) ) {
        $item->add_meta_data( 'Custom Engraved Name', $values['custom_engraved_name'] );
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-333bd65 */// 1. Inject Engraving Field & JavaScript Force-Square Fix
add_action( 'woocommerce_before_add_to_cart_button', 'marble_luxoria_inject_engraving_field' );
function marble_luxoria_inject_engraving_field() {
    ?>
    <style>
        .custom-engraving-wrap {
            flex: 0 0 100% !important;
            width: 100% !important;
            clear: both !important;
            margin-bottom: 15px;
        }
    </style>
    <div class="custom-engraving-wrap">
        <div style="padding: 15px; border: 1px solid #e2e8f0; border-radius: 8px; background: #ffffff; box-sizing: border-box;">
            <label for="custom_engraved_name" style="display: block; font-weight: 600; margin-bottom: 8px; color: #1e293b; font-size: 14px;">Custom Name Engraving (Optional)</label>
            <div style="display: flex; gap: 10px; align-items: center;">
                <input type="text" id="custom_engraved_name" name="custom_engraved_name" placeholder="Enter name to engrave..." style="flex: 1; padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14px; background: #ffffff; width: 100%; box-sizing: border-box;" />
                <span id="engraving-price-tag" style="font-weight: 600; color: #dc2626; background: #fee2e2; padding: 10px 12px; border-radius: 6px; font-size: 13px; display: none; white-space: nowrap;">+ Rs. 999</span>
            </div>
        </div>
    </div>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Input price toggle logic
        var input = document.getElementById('custom_engraved_name');
        var priceTag = document.getElementById('engraving-price-tag');
        if(input) {
            input.addEventListener('input', function() {
                if(this.value.trim().length > 0) {
                    priceTag.style.display = 'inline-block';
                } else {
                    priceTag.style.display = 'none';
                }
            });
        }

        // Force size swatches to square via JS
        setTimeout(function() {
            var swatches = document.querySelectorAll('.variable-item, .ast-swatch-item, .swatch-item, .woo-variation-swatches .variable-item');
            swatches.forEach(function(el) {
                el.style.setProperty('border-radius', '4px', 'important');
            });
        }, 500);
    });
    </script>
    <?php
}

// 2. Save Custom Name into Cart Item
add_filter( 'woocommerce_add_cart_item_data', 'marble_luxoria_save_custom_engraving', 10, 2 );
function marble_luxoria_save_custom_engraving( $cart_item_data, $product_id ) {
    if ( isset( $_POST['custom_engraved_name'] ) && trim( $_POST['custom_engraved_name'] ) !== '' ) {
        $cart_item_data['custom_engraved_name'] = sanitize_text_field( $_POST['custom_engraved_name'] );
        $cart_item_data['unique_key'] = md5( microtime() );
    }
    return $cart_item_data;
}

// 3. Add Rs. 999 Fee dynamically in Cart & Checkout
add_action( 'woocommerce_cart_calculate_fees', 'marble_luxoria_add_engraving_fee' );
function marble_luxoria_add_engraving_fee( $cart ) {
    if ( is_admin() && ! defined( 'AJAX_REQUEST' ) ) {
        return;
    }
    
    $engraving_count = 0;
    foreach ( $cart->get_cart() as $cart_item ) {
        if ( isset( $cart_item['custom_engraved_name'] ) && trim( $cart_item['custom_engraved_name'] ) !== '' ) {
            $engraving_count += $cart_item['quantity'];
        }
    }
    
    if ( $engraving_count > 0 ) {
        $fee_amount = 999 * $engraving_count;
        $cart->add_fee( 'Custom Engraving Fee', $fee_amount, true );
    }
}

// 4. Display Custom Name in Cart Item Details
add_filter( 'woocommerce_get_item_data', 'marble_luxoria_display_custom_engraving_cart', 10, 2 );
function marble_luxoria_display_custom_engraving_cart( $item_data, $cart_item ) {
    if ( isset( $cart_item['custom_engraved_name'] ) ) {
        $item_data[] = array(
            'key'   => 'Custom Engraved Name',
            'value' => $cart_item['custom_engraved_name'],
        );
    }
    return $item_data;
}

// 5. Save Engraving Name in Admin Order Details
add_action( 'woocommerce_checkout_create_order_line_item', 'marble_luxoria_save_order_engraving_meta', 10, 4 );
function marble_luxoria_save_order_engraving_meta( $item, $cart_item_key, $values, $cart_item ) {
    if ( isset( $values['custom_engraved_name'] ) ) {
        $item->add_meta_data( 'Custom Engraved Name', $values['custom_engraved_name'] );
    }
}/* End custom CSS */