.elementor-1243 .elementor-element.elementor-element-c53aaa9{--display:flex;}.elementor-widget-woocommerce-checkout-page .product-name .variation{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}/* Start custom CSS for woocommerce-checkout-page, class: .elementor-element-c66577e *//* =========================================
   1. VISUAL STYLE (Colors, Borders, Shapes)
   ========================================= */

/* --- Container: Clean White Look (Universal Fix) --- */
/* Updated to include Elementor classes and main form to remove ALL outer boxes/lines */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
#customer_details,
.col-1, .col-2, 
.u-column1, .u-column2,
.col2-set,
.woocommerce form.checkout,
.e-checkout__container,
.e-checkout__column,
.e-checkout__column-inner,
.e-checkout__column-start,
.e-checkout__column-end {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    outline: none !important;
}

/* FIX: Remove the specific line and space above Name */
.woocommerce-billing-fields {
    border: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Hide Order Attribution element which might cause invisible spacing */
wc-order-attribution-inputs {
    display: none !important;
}

/* Remove spacing from the wrapper immediately surrounding the fields */
.woocommerce-billing-fields__field-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove pseudo-elements that might act as borders/lines */
.woocommerce-billing-fields::before,
.woocommerce-billing-fields::after,
#customer_details::before,
#customer_details::after,
.col2-set::before,
.col2-set::after {
    display: none !important;
    border: none !important;
    content: none !important;
}

/* Hide the "Billing details" title and ensure it takes 0 space */
.woocommerce-billing-fields h3 {
    display: none !important; 
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Input Fields: Rounded & Taller --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    background: #ffffff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 8px !important;
    padding: 12px 15px !important;
    height: 52px !important;
    font-size: 15px !important;
    color: #333;
    box-shadow: none !important;
    width: 100%;
    outline: none;
}

/* Focus Effect */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
    border-color: #333 !important;
}

/* --- The "Label on Border" Style --- */
.woocommerce form .form-row {
    position: relative;
    margin-bottom: 25px !important;
}

.woocommerce form .form-row label {
    position: absolute;
    top: -9px;
    left: 12px;
    background-color: #ffffff;
    padding: 0 5px;
    font-size: 13px !important;
    color: #666;
    z-index: 2;
    line-height: 1;
    font-weight: 400 !important;
}

/* Fix for Select2 Dropdowns */
.select2-container--default .select2-selection--single {
    background-color: #ffffff !important; /* FIXED: Force White Background */
    border-radius: 8px !important;
    border: 1px solid #e6e6e6 !important;
    height: 52px !important;
    display: flex;
    align-items: center;
}

/* Hide specific fields */
#billing_last_name_field,
#billing_email_field {
    display: none !important;
}


/* =========================================
   2. FIELD LAYOUT & REORDERING
   ========================================= */

/* Enable Flexbox */
.woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* --- ORDER 1: Name --- */
#billing_first_name_field {
    order: 10;
    width: 100% !important;
    margin-top: 0 !important; /* Ensure name starts at the very top */
    padding-top: 0 !important;
}

/* --- ORDER 2: Phone --- */
#billing_phone_field {
    order: 20;
    width: 100% !important;
}

/* --- ORDER 3: Street Address --- */
#billing_address_1_field {
    order: 30;
    width: 100% !important;
}

/* --- ORDER 4: Optional Address --- */
#billing_address_2_field {
    order: 40;
    width: 100% !important;
}

/* --- ORDER 5: Town / City --- */
#billing_city_field {
    order: 50;
    width: 100% !important;
    clear: both !important; /* Forces it to start on a new line */
}

/* --- ORDER 6: Pincode + State (Side by Side) --- */
#billing_postcode_field {
    order: 60;
    width: 48% !important;
    margin-right: 4% !important; /* Gap */
    clear: left !important;
}

#billing_state_field {
    order: 61;
    width: 48% !important;
    margin-right: 0 !important;
    clear: right !important;
}

/* --- ORDER 7: Country (Frozen at Bottom) --- */
#billing_country_field {
    order: 70;
    width: 100% !important;
    pointer-events: none !important; /* Locked */
    margin-bottom: 0 !important;
}

/* Country Field Visuals (Greyed out) */
#billing_country_field select {
    background-color: #f9f9f9 !important;
    color: #666 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid #e6e6e6 !important;
}

/* FIXED: Ensure Country stays grey even with the new Select2 white rule */
#billing_country_field .select2-container--default .select2-selection--single {
    background-color: #f9f9f9 !important;
}

#billing_country_field .select2-selection__arrow {
    display: none !important;
}

/* =========================================
   RENAME LABELS + SINGLE COLOR FOR TEXT & STAR
   ========================================= */

/* --- 1. Hide the OLD Text and OLD Star completely --- */
#billing_first_name_field label,
#billing_address_1_field label {
    font-size: 0 !important; /* Shrink everything to 0 */
    color: transparent !important; /* Make sure no old text shows */
}

#billing_first_name_field label abbr,
#billing_address_1_field label abbr {
    display: none !important; /* Hide original star */
}

/* --- 2. Create New "Name" Text with desired color --- */
#billing_first_name_field label::before {
    content: "Name"; 
    font-size: 13px !important; 
    color: #666 !important; /* Unified grey color for text */
    visibility: visible !important;
}

/* --- 3. Create New Star (*) for Name with desired color --- */
#billing_first_name_field label::after {
    content: "*"; 
    font-size: 13px !important;
    color: #666 !important; /* Unified grey color for star */
    visibility: visible !important;
    margin-left: 4px; /* Space between Name and Star */
}


/* --- 4. Create New "Address" Text with desired color --- */
#billing_address_1_field label::before {
    content: "Address";
    font-size: 13px !important;
    color: #666 !important; /* Unified grey color for text */
    visibility: visible !important;
    margin-left: 4px;
}


/* =========================================
   CHANGE PLACEHOLDER TEXT (CSS TRICK)
   ========================================= */

/* --- 1. Hide the Original Placeholder Text --- */
#billing_address_1::placeholder,
#billing_address_2::placeholder {
    color: transparent !important;
}

/* --- 2. Create New Text for "Address Line 1" --- */
#billing_address_1_field {
    position: relative !important;
}

#billing_address_1_field::after {
    content: "House number, Building, Company name"; /* YOUR NEW TEXT */
    position: absolute;
    top: 18px; /* Adjusts vertical position */
    left: 16px; /* Adjusts horizontal position */
    font-size: 14px;
    color: #b3b3b3; /* Light Grey (Placeholder color) */
    pointer-events: none; /* Allows you to click "through" the text */
    line-height: 1;
}

/* --- 3. Create New Text for "Address Line 2" --- */
#billing_address_2_field {
    position: relative !important;
}

#billing_address_2_field::after {
    content: "Street, Area"; /* YOUR NEW TEXT */
    position: absolute;
    top: 18px; 
    left: 16px;
    font-size: 14px;
    color: #b3b3b3;
    pointer-events: none;
    line-height: 1;
}

/* --- 4. Logic: Hide the fake text when you type --- */
/* This uses a modern CSS .elementor-1243 .elementor-element.elementor-element-c66577e called :has() */

#billing_address_1_field:has(input:not(:placeholder-shown))::after,
#billing_address_2_field:has(input:not(:placeholder-shown))::after {
    display: none !important;
}



/* =========================================
   3. HIDE "SHIP TO DIFFERENT ADDRESS"
   ========================================= */

/* Hide the toggle checkbox and the text "Ship to a different address?" */
#ship-to-different-address {
    display: none !important;
}

/* Hide the container that holds the shipping fields (just in case) */
.woocommerce-shipping-fields {
    display: none !important;
}

/* =========================================
   4. ORDER REVIEW & PAYMENT (Minimalist & Premium)
   ========================================= */

/* --- General Container --- */
#order_review {
    background: #ffffff !important;
    padding: 0 !important; /* REMOVED padding */
    border-radius: 8px !important;
    box-shadow: none !important;
    border: none !important; /* REMOVED border */
    margin-top: 20px !important;
}

/* --- Heading --- */
#order_review_heading {
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

/* --- The Table (Layout Fixes) --- */
.woocommerce-checkout-review-order-table {
    border: none !important;
    margin-bottom: 25px !important;
    width: 100% !important;
    table-layout: fixed !important; /* Crucial: Stops the table from collapsing */
}

/* 1. Give the Product Name column less space (60%) */
.woocommerce-checkout-review-order-table .product-name {
    width: 60% !important; /* Decreased from 70% to give Total more room */
    text-align: left !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #fafafa !important;
    font-size: 12px !important; /* Reduced from 13px to 12px */
    color: #555 !important;
    vertical-align: top !important; 
    word-wrap: break-word !important; 
}

/* 2. Give the Total column MORE space (40%) and align right */
.woocommerce-checkout-review-order-table .product-total {
    width: 40% !important; /* Increased from 30% to 40% */
    text-align: right !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #fafafa !important;
    font-size: 12px !important; /* Reduced from 13px to 12px */
    color: #333 !important;
    vertical-align: top !important;
    white-space: nowrap !important; /* Prevents price from breaking */
}

/* Force the Price Amount to match the text size */
.woocommerce-checkout-review-order-table .product-total .amount,
.woocommerce-checkout-review-order-table .product-total bdi {
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Headers */
.woocommerce-checkout-review-order-table thead th {
    color: #999 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 500 !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #eee !important;
}

.woocommerce-checkout-review-order-table thead th.product-name {
    text-align: left !important;
}
.woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right !important;
}


/* Footer Rows (Subtotal, Shipping, Total) */
.woocommerce-checkout-review-order-table tfoot th {
    text-align: left !important;
    padding: 12px 0 !important;
    color: #888 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    border-top: 1px solid #eee !important;
    background: #fff !important; /* Force White Background */
}

.woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
    padding: 12px 0 !important;
    color: #333 !important;
    font-size: 12px !important; /* Consistent 12px for numbers */
    font-weight: 500 !important;
    border-top: 1px solid #eee !important;
    white-space: nowrap !important; /* CRITICAL: Prevents Subtotal/Total from breaking */
    background: #fff !important; /* Force White Background */
}

/* --- SPECIFIC FIX: Force Subtotal Amount to be small --- */
.woocommerce-checkout-review-order-table .cart-subtotal td .amount,
.woocommerce-checkout-review-order-table .cart-subtotal td bdi {
    font-size: 13px !important; /* Overrides any default large font */
    font-weight: 600 !important;
}

/* Final Total Row */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-top: 1px solid #eee !important; /* Thinner border for minimalist look */
    color: #000 !important;
    font-size: 14px !important;  /* Reduced from 15px to 14px */
    font-weight: 600 !important; /* Slightly lighter weight */
    padding-top: 20px !important;
    background: #fff !important; /* Force White Background */
}

/* Make sure the final total price number respects the font size */
.woocommerce-checkout-review-order-table .order-total .amount,
.woocommerce-checkout-review-order-table .order-total bdi {
    font-size: 14px !important;
}

/* --- Payment Section REORDERING --- */
#payment {
    background: transparent !important;
}

/* Add "Payment Method" Title via CSS */
#payment::before {
    content: "Payment Method";
    display: block;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 10px !important;
}

#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
    /* Enable Flexbox for reordering */
    display: flex !important;
    flex-direction: column !important;
}

/* REORDER LOGIC:
   We want Prepaid (Razorpay) on TOP and COD on BOTTOM.
   We use 'order' property. Default order is 0.
   -1 moves element to start.
   10 moves element to end.
*/

/* Force Prepaid (Razorpay) to the TOP */
li.payment_method_razorpay {
    order: -1 !important; 
}

/* Force COD to the BOTTOM */
li.payment_method_cod {
    order: 10 !important;
}


#payment ul.payment_methods li {
    background: #fff !important;
    padding: 10px 0 !important;
    font-size: 13px !important;
    color: #444 !important;
    font-weight: 500 !important;
}

/* Hide the payment description text */
#payment div.payment_box {
    display: none !important;
}

#payment div.payment_box::before {
    display: none !important;
}

.woocommerce-privacy-policy-text p {
    font-size: 11px !important;
    color: #999 !important;
    line-height: 1.6 !important;
    margin-bottom: 25px !important;
}

/* --- Button --- */
#place_order {
    width: 100% !important;
    background-color: #222 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    cursor: pointer;
}

#place_order:hover {
    background-color: #000 !important;
}


/* =========================================
   HIDE PRIVACY POLICY TEXT
   ========================================= */

/* Hides the container and the paragraph text */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}/* End custom CSS */