/* Order Review Table */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.woocommerce-checkout-review-order-table thead th {
    background: #f9fafb;
    padding: 14px 20px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right;
}

.woocommerce-checkout-review-order-table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.woocommerce-checkout-review-order-table tbody .product-name {
    font-weight: 500;
}

.woocommerce-checkout-review-order-table tbody .product-name .remove {
    color: #d1d5db;
    text-decoration: none;
    margin-right: 6px;
    transition: color 0.2s;
}

.woocommerce-checkout-review-order-table tbody .product-name .remove:hover {
    color: #ef4444;
}

.woocommerce-checkout-review-order-table tbody .product-quantity {
    color: #9ca3af;
    font-weight: 400;
}

.woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 500;
    color: #111827;
}

/* Bonus text */
.woocommerce-checkout-review-order-table .product-total span[style*="green"] {
    color: #16a34a !important;
    font-weight: 600;
}

/* Footer rows */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    padding: 14px 20px;
    border-bottom: 1px solid #f3f4f6;
}

.woocommerce-checkout-review-order-table tfoot th {
    text-align: left;
    font-weight: 500;
    color: #374151;
}

/* Discount row */
.woocommerce-checkout-review-order-table .fee th,
.woocommerce-checkout-review-order-table .fee td {
    color: #16a34a;
}

.woocommerce-checkout-review-order-table .fee td {
    font-weight: 600;
}

/* Order Total row */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    background: #111827;
    color: #fff;
    border-bottom: none;
    padding: 18px 20px;
}

.woocommerce-checkout-review-order-table .order-total th {
    font-size: 15px;
    font-weight: 600;
}

.woocommerce-checkout-review-order-table .order-total td {
    font-size: 20px;
    font-weight: 700;
}

.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
    color: #fff;
}
/* ===== BUTTONS ===== */
button.single_add_to_cart_button.button.alt,
a.checkout-button.button.alt.wc-forward {
    background: black;
}

button.single_add_to_cart_button.button.alt:hover,
a.checkout-button.button.alt.wc-forward:hover {
    background: orange;
}

button#place_order,
#place_order {
    background: #7fb520;
    font-size: 23px;
    text-transform: uppercase;
    width: 100%;
}
/* ===== CHECKOUT ===== */
input#billing_first_name,
input#billing_last_name,
input#billing_email {
    border-radius: 6px;
    border: solid 1px grey;
}

.woocommerce-privacy-policy-text {
    font-size: 11px;
}

.woocommerce-info {
    border: 1px solid #bdbdbd;
    border-radius: 10px;
    background: white;
    font-size: 12px;
}

.woocommerce form .form-row .input-checkbox {
    margin: -5px -1px -2px -3px;
}

.woocommerce-form-login label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
    margin-top: 12px;
}

@media (min-width: 768px) {
    /* CSS Grid checkout layout for sticky sidebar */
    .woocommerce-checkout form.checkout {
        display: grid;
        grid-template-columns: 58% 40%;
        grid-template-rows: auto 1fr;
        gap: 10px 2%;
        align-items: start;
    }
    
    #customer_details {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 100%;
        float: none;
    }
    
    #order_review_heading {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        float: none;
        margin: 0;
    }
    
    #order_review {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        float: none;
        margin: 0;
        position: sticky;
        top: 150px;
        max-height: calc(100vh - 180px);
        overflow-y: auto;
    }
    
    .woocommerce table.shop_table td {
        width: 50%;
    }
    
    .woocommerce .col2-set .col-1,
    .woocommerce-page .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-2 {
        width: 100%;
        float: none;
    }
}

/* Adjust sticky position for logged-out users (no admin bar) */
body:not(.admin-bar) #order_review {
    top: 120px;
}
/* Bonus Checkout */

.woocommerce-info::before {display:none;}

/* Fund Checkout Notice */
.fund-checkout-notice {
    text-align: center;
    padding: 20px;
    margin: 16px 0;
    background-color: #f6fcf5;
    border-radius: 8px;
}

.fund-checkout-notice table {
    width: auto;
    min-width: 280px;
    border-collapse: collapse;
    margin: 0 auto 16px;
    border-radius: 8px;
    overflow: hidden;
}

.fund-checkout-notice th,
.fund-checkout-notice td {
    padding: 12px 32px;
    border: 1px solid #d1fae5;
    text-align: center;
}

.fund-checkout-notice th {
    background: #bbf7d0;
    font-weight: 600;
    color: #166534;
}

.fund-checkout-notice td {
    background: #fff;
    color: #333;
}

.fund-checkout-notice p {
    margin: 12px 0 0;
    font-size: 14px;
    color: #555;
}

.fund-checkout-notice .refund-notice {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #111;
}

.fund-checkout-notice .refund-notice a {
    color: #f97316;
    text-decoration: none;
}

.fund-checkout-notice .refund-notice a:hover {
    text-decoration: underline;
}
