.woocommerce {
    background-color: transparent;
}

/* Container - Checkout Form */
.woocommerce-checkout {
    background-color: #ffffff;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    height: 75vh;
    overflow-y: scroll;
}

/* Hide default coupon toggle */
.woocommerce-form-coupon-toggle,
.checkout-coupon-toggle {
    display: none !important;
}

/* Header with Title and Close Button */
.woocommerce-checkout::before {
    content: 'ক্যাশ অন ডেলিভারিতে\Aঅর্ডার করতে আপনার তথ্য দিন';
    white-space: pre;
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    padding: 15px 50px;
    border-bottom: 1px solid #f0f0f0;
    line-height: 1.5;
}

/* Main Content Area */
#customer_details {
    padding: 20px;
    border-bottom: none;
}

/* Hide default heading */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    display: none !important;
}

/* Single Column Layout */
.col2-set {
    display: flex;
    flex-direction: column;
}

.col2-set .col-1,
.col2-set .col-2 {
    width: 100%;
    float: none;
}

/* Form Fields Container */
.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Form Rows */
.form-row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Labels */
.form-row label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #333;
}

.form-row label .required,
.form-row label .optional {
    color: red;
    margin-left: 2px;
}

/* Input Wrapper with Icon */
.woocommerce-input-wrapper {
    position: relative;
    display: block;
    width: 100%;
}

/* Add Icons */
.woocommerce-input-wrapper::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #9ca3af;
    font-size: 14px;
    z-index: 2;
    pointer-events: none;
}


/* Input Fields */
.woocommerce-input-wrapper input[type="text"],
.woocommerce-input-wrapper input[type="tel"],
.woocommerce-input-wrapper textarea {
    width: 100% !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    padding: 12px 12px 12px 38px !important;
    font-size: 14px !important;
    font-family: 'Hind Siliguri', sans-serif !important;
    color: #111 !important;
    background-color: #fff !important;
    outline: none !important;
    box-sizing: border-box;
}

.woocommerce-input-wrapper input::placeholder,
.woocommerce-input-wrapper textarea::placeholder {
    color: #9ca3af !important;
}

.woocommerce-input-wrapper input:focus,
.woocommerce-input-wrapper textarea:focus {
    border-color: #f59e0b !important;
}

/* Order Review Section */
#order_review {
    /* padding: 0 20px 20px 20px; */
}

/* Product Summary */
.shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    border: none !important;
    margin: 0;
    border-collapse: collapse;
    padding: 0 20px 20px 20px;
}

/* Hide table header */
.shop_table thead {
    display: none;
}

/* Product Row */
.shop_table tbody {
    border: none;
}

.shop_table tbody tr.cart_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.shop_table tbody td {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.shop_table tbody .product-name {
    /* flex: 1; */
    display: flex;
    font-size: 14px;
    color: #111;
    text-align: left;
    align-items: center;
}

.shop_table tbody .product-total {
    font-weight: 500;
    color: #111;
    font-size: 14px;
}

/* Table Footer - Subtotal, Coupon, Shipping, Total */
.shop_table tfoot {
    border: none;
}

.shop_table tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border: none;
}

.shop_table tfoot th,
.shop_table tfoot td {
    border: none !important;
    padding: 0 !important;
    text-align: left;
    background: transparent !important;
    font-weight: 400;
}

.shop_table tfoot th {
    font-size: 14px;
    color: #555;
}

.shop_table tfoot td {
    font-size: 14px;
    color: #555;
    text-align: right;
}

/* Subtotal Row */
.shop_table tfoot .cart-subtotal th,
.shop_table tfoot .cart-subtotal td {
    color: #555;
    font-weight: 400;
}

/* Coupon Row */
.shop_table tfoot .cart-discount {
    padding: 8px 0 !important;
}

.shop_table tfoot .cart-discount td {
    color: #555;
}

.shop_table tfoot .cart-discount .woocommerce-remove-coupon {
    color: #ef4444;
    text-decoration: none;
    font-size: 12px;
    margin-left: 5px;
    text-transform: capitalize;
}

/* Shipping Section */
.shop_table tfoot .woocommerce-shipping-totals {
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 0 !important;
    margin-top: 10px;
    border-bottom: none !important;
}

.shop_table tfoot .woocommerce-shipping-totals th {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin-bottom: 10px;
    width: 100%;
}

.shop_table tfoot .woocommerce-shipping-totals td {
    width: 100%;
}

/* Shipping Methods List */
#shipping_method {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
}

#shipping_method li {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #f3f4f6;
}

#shipping_method li:last-child {
    border-bottom: none;
}

#shipping_method li:hover {
    background-color: #f9fafb;
}

#shipping_method label {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    /* padding: 12px 15px; */
    cursor: pointer;
    font-size: 14px;
    color: #374151;
    margin: 0 !important;
    font-weight: 400;
    flex-direction: row;
}

#shipping_method input[type="radio"] {
    margin: 0 10px 0 0 !important;
    accent-color: #f59e0b;
    cursor: pointer;
}

#shipping_method .woocommerce-Price-amount {
    font-weight: 600;
    color: #111;
    white-space: nowrap;
}

/* Total Row */
.shop_table tfoot .order-total {
    font-weight: 700 !important;
    font-size: 16px !important;
    padding-top: 15px !important;
    margin-top: 10px;
    border-top: 1px solid #e5e7eb;
}

.shop_table tfoot .order-total th,
.shop_table tfoot .order-total td {
    font-weight: 700 !important;
    color: #111 !important;
    font-size: 16px !important;
}

/* Coupon Form */
.coupon-form {
    display: flex !important;
    gap: 10px;
    margin: 20px 0;
    flex-wrap: nowrap;
    align-items: center;
    padding: 0 20px 20px 20px;
}

.coupon-form>p:first-child {
    display: none !important;
}

.coupon-form .form-row {
    margin: 0 !important;
}

.coupon-form .form-row-first {
    flex: 1;
    min-width: 0;
}

.coupon-form .form-row-last {
    flex-shrink: 0;
}

.coupon-form input[type="text"] {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    font-family: 'Hind Siliguri', sans-serif !important;
    font-size: 14px !important;
}

.coupon-form input::placeholder {
    color: #9ca3af;
}

.coupon-form .apply-coupon-btn {
    background-color: #f59e0b !important;
    color: #000 !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
    /* font-family: 'Hind Siliguri', sans-serif !important; */
}

.coupon-form .apply-coupon-btn:hover {
    background-color: #d97706 !important;
}

/* Order Notes */
.woocommerce-additional-fields {
    /* padding: 0 20px 20px; */
}

#order_comments_field {
    margin-top: 20px;
}

#order_comments_field label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #333;
}

#order_comments {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    font-family: 'Hind Siliguri', sans-serif !important;
    resize: vertical;
    min-height: 80px;
    font-size: 14px !important;
}

/* Hide Payment Methods */
.woocommerce-checkout-payment .wc_payment_methods {
    display: none !important;
}

/* Checkout Payment Footer */
.woocommerce-checkout-payment {
    padding: 20px;
    border-top: 1px solid #f0f0f0;
    background: #f9fafb !important;
}

/* Place Order Button */
.woocommerce-checkout-payment .place-order {
    margin: 0 !important;
    padding: 0 !important;
}

.place-order button#place_order {
    width: 100% !important;
    background-color: #f59e0b !important;
    color: #000 !important;
    border: none !important;
    padding: 16px 20px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s, transform 0.1s;
    /* font-family: 'Hind Siliguri', sans-serif !important; */
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.4) !important;
    text-transform: none !important;
}

.place-order button#place_order:hover {
    background-color: #f5880a !important;
}

.place-order button#place_order:active {
    transform: scale(0.99);
}

/* Hide Terms and Conditions */
.woocommerce-terms-and-conditions-wrapper {
    display: none !important;
}

/* Confirmation Message */
.place-order::after {
    content: 'উপরে ক্লিক করলে আপনার অর্ডারটি সাথে সাথে কনফার্ম হয়ে যাবে !';
    display: block;
    text-align: center;
    font-size: 14px;
    color: #4b5563;
    margin-top: 15px;
    line-height: 1.5;
    font-weight: 500;
}

/* Success/Error Messages */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    background-color: #d1fae5;
    color: #065f46;
    padding: 12px 20px;
    border-radius: 4px;
    margin: 0 20px 15px 20px;
    border-left: 3px solid #10b981;
    font-size: 14px;
}

.woocommerce-error {
    background-color: #fee2e2;
    color: #991b1b;
    border-left-color: #ef4444;
}

/* Hide WooCommerce Attribution */
wc-order-attribution-inputs {
    display: none !important;
}

/* Mobile Responsive */
@media (max-width: 480px) {
    .woocommerce-checkout {
        border-radius: 0;
        max-width: 100%;
        min-height: 100vh;
    }

    body.woocommerce-checkout {
        padding: 0;
    }
}

/* Additional Cleanup */
.woocommerce-checkout .col2-set .col-2 {
    margin-top: 0;
}

.woocommerce form .form-row {
    padding: 0 !important;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
    width: 100%;
}

/* Custom WooCommerce Input Style */
.woocommerce-billing-fields__field-wrapper p {
    margin-bottom: 15px;
}

.woocommerce-billing-fields__field-wrapper label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

.woocommerce-billing-fields__field-wrapper label span {
    color: red;
}

.woocommerce-billing-fields__field-wrapper .input-text {
    width: 100%;
    padding: 10px 10px 10px 35px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 14px;
    color: #111;
    background-color: #fff;
    outline: none;
}

.woocommerce-billing-fields__field-wrapper .input-text::placeholder {
    color: #9ca3af;
}

.woocommerce-billing-fields__field-wrapper .input-text:focus {
    border-color: #f59e0b;
}

/* Add icons using pseudo-elements */
.woocommerce-billing-fields__field-wrapper #billing_first_name {
    background-image: url('data:image/svg+xml;utf8,<svg fill="%239ca3af" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>');
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 16px;
}

.woocommerce-billing-fields__field-wrapper #billing_address_1 {
    background-image: url('data:image/svg+xml;utf8,<svg fill="%239ca3af" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5S10.62 6.5 12 6.5s2.5 1.12 2.5 2.5S13.38 11.5 12 11.5z"/></svg>');
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 16px;
}

.woocommerce-billing-fields__field-wrapper #billing_phone {
    background-image: url('data:image/svg+xml;utf8,<svg fill="%239ca3af" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path d="M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2a1 1 0 011.11-.21c1.2.48 2.5.75 3.85.75a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 21 3 13.93 3 5a1 1 0 011-1H7.5a1 1 0 011 1c0 1.35.26 2.65.75 3.85a1 1 0 01-.21 1.11l-2.42 2.83z"/></svg>');
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 16px;
}

p.form-row.form-row-first.woocommerce-validated {
    max-width: 80%;
}

p.form-row.form-row-last {
    max-width: 20%;
}

.clear {
    display: none;
}

.woocommerce-additional-fields__field-wrapper {
    display: none;
}

.checkout-product-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce ul#shipping_method li {
    margin: 0 !important;
    line-height: 1 !important;
    list-style: none outside;
    padding: 12px;
    text-align: start;
    display: flex;
}

.woocommerce table.shop_table tfoot th,
span.woocommerce-Price-amount.amount {
    font-weight: 500;
    color: #555;
}

tr.woocommerce-shipping-totals.shipping th {
    color: #333 !important;
}




/* .woocommerce-checkout .form-row.place-order {
    position: sticky;
    bottom: 0;
    z-index: 10;
    background: #f9fafb;
    padding: 20px;
    border-top: 1px solid #f0f0f0;
} */

.woocommerce-checkout #payment {
    position: sticky;
    bottom: 0;
    z-index: 10;
    background: #f9fafb;
    padding: 20px;
    border-top: 1px solid #f0f0f0;
}

.woocommerce-checkout::before {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #fff;
    padding: 15px 50px;
    border-bottom: 1px solid #f0f0f0;
    white-space: pre;
}

.custom-order-notes {
    padding: 0 20px;
}

.woocommerce #payment #place_order {
    margin-bottom: 0 !important;
}

del {
    text-decoration: none;
}

del span.woocommerce-Price-amount.amount,
del span.woocommerce-Price-amount.amount span.woocommerce-Price-currencySymbol {
    text-decoration: line-through !important;
    color: #888888 !important;
    font-weight: 500 !important;
    font-size: 18px !important;
}

ins {
    text-decoration: none;
}

.woocommerce-notices-wrapper,
.woocommerce-message {
    display: none;
}

.custom-order-notes-section {
    padding: 0px 20px 20px;
}

#checkout-popup-body td.product-name {
    width: 88%;
}

#checkout-popup-body td.product-total {
    width: 11%;
    text-align: end;
}

#checkout-popup-body .wc-product-with-image {
    width: 60%;
}

#checkout-popup-body dl.variation {
    width: 36%;
    font-size: 12px;
}

#checkout-popup-body .wc-product-name {
    font-size: 12px;
}

#checkout-popup-body strong.product-quantity {
    margin-right: 7px;
}

.product-grid a.added_to_cart.wc-forward {
    display: none;
}