/* =========================================================
   PAGES — BoldMart Bee
   Cart, Checkout, and page-specific styles
   ========================================================= */

/* =====================================================
   CART PAGE
   ===================================================== */
.woocommerce-cart .woocommerce { padding: 2rem 0 4rem; }

.woocommerce-cart table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 2rem !important;
}
.woocommerce-cart table.shop_table thead { background: var(--bm-surface2) !important; }
.woocommerce-cart table.shop_table thead th {
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .15em !important;
    color: var(--bm-accent) !important;
    padding: 1rem 1.2rem !important;
    border-bottom: 1px solid var(--bm-border) !important;
    border-top: none !important;
}
.woocommerce-cart table.shop_table tbody tr { transition: background .2s !important; }
.woocommerce-cart table.shop_table tbody tr:hover { background: rgba(245,196,0,.03) !important; }
.woocommerce-cart table.shop_table tbody td {
    padding: 1.2rem !important;
    border-top: 1px solid var(--bm-border) !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: var(--bm-radius) !important;
    border: 1px solid var(--bm-border) !important;
    display: block !important;
}
.woocommerce-cart table.shop_table td.product-name a {
    font-family: var(--bm-font-d) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    color: #fff !important;
    text-decoration: none !important;
}
.woocommerce-cart table.shop_table td.product-name a:hover { color: var(--bm-accent) !important; }
.woocommerce-cart table.shop_table td.product-remove a.remove {
    color: var(--bm-muted) !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: all .2s !important;
    background: transparent !important;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    color: #e53935 !important;
    background: rgba(229,57,53,.1) !important;
}
.woocommerce-cart .quantity input.qty {
    background: var(--bm-surface2) !important;
    border: 1px solid var(--bm-border) !important;
    color: var(--bm-text) !important;
    border-radius: var(--bm-radius) !important;
    width: 64px !important;
    text-align: center !important;
    font-family: var(--bm-font-d) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: .4rem !important;
}
.woocommerce-cart .quantity input.qty:focus { border-color: var(--bm-accent) !important; outline: none !important; }
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    font-family: var(--bm-font-d) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    color: var(--bm-accent) !important;
}
.woocommerce-cart table.shop_table .cart_item td.actions { background: var(--bm-surface2) !important; }

/* Coupon */
.woocommerce-cart .coupon { display: flex !important; align-items: center !important; gap: .6rem !important; }
.woocommerce-cart .coupon label { display: none !important; }
.woocommerce-cart .coupon input#coupon_code {
    width: 180px !important;
    background: var(--bm-bg) !important;
    border: 1px solid var(--bm-border) !important;
    color: var(--bm-text) !important;
    border-radius: var(--bm-radius) !important;
    padding: .6rem 1rem !important;
    font-size: .9rem !important;
}
.woocommerce-cart .coupon input#coupon_code:focus { border-color: var(--bm-accent) !important; outline: none !important; }
.woocommerce-cart .coupon input#coupon_code::placeholder { color: var(--bm-muted) !important; }
.woocommerce-cart .coupon button[name="apply_coupon"] {
    background: var(--bm-surface) !important;
    color: var(--bm-muted) !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: var(--bm-radius) !important;
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    padding: .6rem 1.2rem !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.woocommerce-cart .coupon button[name="apply_coupon"]:hover { border-color: var(--bm-accent) !important; color: var(--bm-accent) !important; }

/* Update cart */
.woocommerce-cart button[name="update_cart"] {
    background: transparent !important;
    color: var(--bm-muted) !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: var(--bm-radius) !important;
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    padding: .6rem 1.2rem !important;
    float: right !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.woocommerce-cart button[name="update_cart"]:hover { border-color: var(--bm-accent) !important; color: var(--bm-accent) !important; }

/* Cart totals */
.woocommerce-cart .cart-collaterals { margin-top: 2rem !important; }
.woocommerce-cart .cart_totals {
    background: var(--bm-surface) !important;
    border: 1px solid var(--bm-border) !important;
    border-top: 3px solid var(--bm-accent) !important;
    border-radius: var(--bm-radius) !important;
    padding: 1.8rem !important;
    float: right !important;
    width: 42% !important;
}
.woocommerce-cart .cart_totals h2 {
    font-family: var(--bm-font-d) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: var(--bm-accent) !important;
    margin-bottom: 1.2rem !important;
    padding-bottom: .8rem !important;
    border-bottom: 1px solid var(--bm-border) !important;
}
.woocommerce-cart .cart_totals table { width: 100% !important; border: none !important; background: transparent !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { padding: .6rem 0 !important; border: none !important; border-bottom: 1px solid var(--bm-border) !important; font-size: .9rem !important; }
.woocommerce-cart .cart_totals table th {
    font-family: var(--bm-font-d) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: .78rem !important;
    letter-spacing: .1em !important;
    color: var(--bm-muted) !important;
    width: 40% !important;
}
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td { font-size: 1.1rem !important; color: #fff !important; border-bottom: none !important; padding-top: 1rem !important; }
.woocommerce-cart .cart_totals table tr.order-total td .amount { color: var(--bm-accent) !important; font-size: 1.4rem !important; }

/* Proceed to checkout */
.woocommerce .wc-proceed-to-checkout { padding: 0 !important; margin-top: 1.5rem !important; }
.woocommerce .wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 1rem !important;
    padding: 1rem !important;
    letter-spacing: .12em !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
    font-family: var(--bm-font-d) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--bm-muted) !important;
    text-align: center !important;
    padding: 4rem 0 1rem !important;
}
.woocommerce-cart .return-to-shop { text-align: center !important; padding-bottom: 3rem !important; }
.woocommerce-cart .return-to-shop .button { display: inline-block !important; }

/* =====================================================
   CHECKOUT PAGE
   ===================================================== */
.woocommerce-checkout .woocommerce { padding: 2rem 0 4rem; }
.woocommerce-checkout #customer_details { width: 54% !important; float: left !important; padding-right: 3rem !important; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { width: 43% !important; float: right !important; }

/* Section headings */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: var(--bm-font-d) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    color: var(--bm-accent) !important;
    padding-bottom: .8rem !important;
    margin-bottom: 1.2rem !important;
    border-bottom: 1px solid var(--bm-border) !important;
}

/* Form fields */
.woocommerce-checkout .form-row label {
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: var(--bm-muted) !important;
    margin-bottom: .4rem !important;
    display: block !important;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    background-color: #1a1800 !important;
    color: #ffffff !important;
    border: 1px solid #2e2900 !important;
    -webkit-text-fill-color: #ffffff !important;
    border-radius: var(--bm-radius) !important;
    padding: .75rem 1rem !important;
    font-size: .95rem !important;
    width: 100% !important;
    transition: border-color .2s !important;
}
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    border-color: var(--bm-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(245,196,0,.08) !important;
}

/* Autofill fix */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus,
.woocommerce-checkout input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #1a1800 inset !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
}

/* Select2 */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    background: #1a1800 !important;
    border: 1px solid #2e2900 !important;
    height: auto !important;
    padding: .75rem 1rem !important;
    border-radius: var(--bm-radius) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: #fff !important; padding: 0 !important; line-height: normal !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; }
.woocommerce-checkout .select2-dropdown { background: var(--bm-surface) !important; border: 1px solid var(--bm-border) !important; color: #fff !important; }
.woocommerce-checkout .select2-container--default .select2-results__option { color: var(--bm-text) !important; padding: .6rem 1rem !important; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted { background: var(--bm-accent) !important; color: var(--bm-black) !important; }
.woocommerce-checkout .select2-search--dropdown .select2-search__field { background: var(--bm-bg) !important; border: 1px solid var(--bm-border) !important; color: #fff !important; }

/* Required asterisk */
.woocommerce-checkout .required { color: var(--bm-accent) !important; }

/* Shipping toggle */
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 1.5rem !important; }
.woocommerce-checkout #ship-to-different-address label {
    font-family: var(--bm-font-d) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: .9rem !important;
    color: var(--bm-text) !important;
    cursor: pointer !important;
}

/* Order review */
.woocommerce-checkout #order_review {
    background: var(--bm-surface) !important;
    border: 1px solid var(--bm-border) !important;
    border-top: 3px solid var(--bm-accent) !important;
    border-radius: var(--bm-radius) !important;
    padding: 1.8rem !important;
}
.woocommerce-checkout #order_review table.shop_table { width: 100% !important; border: none !important; background: transparent !important; margin-bottom: 0 !important; }
.woocommerce-checkout #order_review table.shop_table thead th {
    font-family: var(--bm-font-d) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    color: var(--bm-muted) !important;
    padding: .5rem 0 .8rem !important;
    border-bottom: 1px solid var(--bm-border) !important;
    border-top: none !important;
    background: transparent !important;
}
.woocommerce-checkout #order_review table.shop_table tbody td,
.woocommerce-checkout #order_review table.shop_table tbody th {
    padding: .8rem 0 !important;
    border-bottom: 1px solid var(--bm-border) !important;
    border-top: none !important;
    background: transparent !important;
    font-size: .9rem !important;
}
.woocommerce-checkout #order_review table.shop_table tbody .cart-subtotal td,
.woocommerce-checkout #order_review table.shop_table tbody .order-total td { color: var(--bm-accent) !important; font-family: var(--bm-font-d) !important; font-weight: 700 !important; }
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td { font-size: 1.3rem !important; border-bottom: none !important; }
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th { font-family: var(--bm-font-d) !important; font-size: .85rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .1em !important; color: #fff !important; border-bottom: none !important; }

/* Payment box */
.woocommerce-checkout #payment { background: var(--bm-surface2) !important; border: 1px solid var(--bm-border) !important; border-radius: var(--bm-radius) !important; margin-top: 1.5rem !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 1.2rem 1.5rem !important; border-bottom: 1px solid var(--bm-border) !important; margin: 0 !important; list-style: none !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: .5rem 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li label { font-family: var(--bm-font-d) !important; font-size: .9rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .08em !important; color: var(--bm-text) !important; cursor: pointer !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--bm-bg) !important; color: var(--bm-muted) !important; font-size: .85rem !important; margin: 0 !important; padding: 1rem 1.5rem !important; border-radius: 0 !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bm-bg) !important; }
.woocommerce-checkout #payment .place-order { padding: 1.2rem 1.5rem !important; }
.woocommerce-checkout #place_order { display: block !important; width: 100% !important; text-align: center !important; font-size: 1rem !important; padding: 1rem !important; letter-spacing: .12em !important; }

/* Coupon button — classic */
.woocommerce-checkout .woocommerce-form-coupon .button,
.woocommerce-checkout button[name="apply_coupon"] {
    background: transparent !important;
    color: var(--bm-muted) !important;
    border: 1px solid var(--bm-border) !important;
    box-shadow: none !important;
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    padding: .75rem 1.2rem !important;
    border-radius: var(--bm-radius) !important;
    transition: all .2s !important;
}
.woocommerce-checkout .woocommerce-form-coupon .button:hover,
.woocommerce-checkout button[name="apply_coupon"]:hover { border-color: var(--bm-accent) !important; color: var(--bm-accent) !important; background: transparent !important; }

/* Coupon button — blocks */
.wc-block-components-totals-coupon__button.contained,
.wc-block-components-button.wc-block-components-totals-coupon__button {
    background: transparent !important;
    color: var(--bm-muted) !important;
    border: 1px solid var(--bm-border) !important;
    box-shadow: none !important;
    font-family: var(--bm-font-d) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    border-radius: var(--bm-radius) !important;
    transition: all .2s !important;
}
.wc-block-components-totals-coupon__button.contained:hover { background: transparent !important; border-color: var(--bm-accent) !important; color: var(--bm-accent) !important; }
.wc-block-components-totals-coupon__button .wc-block-components-button__text { color: inherit !important; }

/* Privacy & notices */
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .78rem !important; color: var(--bm-muted) !important; margin-bottom: 1rem !important; line-height: 1.6 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--bm-accent) !important; }
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message { background: var(--bm-surface) !important; border-top-color: var(--bm-accent) !important; color: var(--bm-text) !important; }
