/*-----------------------------------
Cart Page
-----------------------------------*/

/* Cart Table */
.woocommerce .shop_table .quantity input {
    width: 80px;
}

.woocommerce .shop_table #coupon_code {
    margin: 0px;
    padding: 7px 10px;
    width: 52% !important;
    height: 66px;
    border-radius: 10px;
}

/* Coupon Field */
@media (min-width: 769px) {
    .woocommerce .shop_table #coupon_code {
        width: 200px !important;
    }
}

/* Product Thumbnails */
.woocommerce .shop_table .product-thumbnail {
    padding: 5px;
    padding-bottom: 0px;
}

.woocommerce-cart table.cart img {
    width: 75px;
}

/* Remove Button */
.woocommerce a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.5em;
    height: 1em;
    width: 1em;
    border-radius: 100%;
    color: var(--e-global-color-text);
    text-decoration: none;
    font-weight: 700;
    border: 0;
    margin: 0 auto;
}

.woocommerce a.remove:hover {
    color: #fff !important;
    background: var(--e-global-color-primary);
}

/* Cart Product Name */
.woocommerce table.cart td.product-name a {
    text-decoration: none;
    font-size: 1.3em;
    color: var(--e-global-color-text);
}

.woocommerce table.cart td {
    vertical-align: middle;
}

.woocommerce table.cart td.actions,
.woocommerce table.cart td.product-subtotal,
.woocommerce table.cart td.product-thumbnail,
.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-quantity {
    text-align: center;
}

@media (min-width: 769px) {

    .woocommerce table.cart td.product-thumbnail,
    .woocommerce table.cart td.product-remove {
        width: 85px;
    }
}

/* Responsive Cart */
@media (max-width: 768px) {

    .woocommerce table.shop_table_responsive,
    .woocommerce table.shop_table_responsive tbody,
    .woocommerce table.shop_table_responsive tr,
    .woocommerce table.shop_table_responsive td {
        display: block;
        border: none;
    }

    .woocommerce table.shop_table_responsive tr {
        border: 1px solid var(--e-global-color-ccbd08f);
        margin-bottom: 15px;
    }

    .woocommerce table.shop_table_responsive tr td {
        border-bottom: 1px solid var(--e-global-color-ccbd08f);
        padding: 10px;
    }

    .woocommerce table.shop_table_responsive tr td:last-child {
        border-bottom: none;
    }

    /* Hide quantity cell when product is sold individually (no input inside) */
    .woocommerce table.cart td.product-quantity:not(:has(.quantity)) {
        display: none;
    }
}

/* Cart Totals */
.woocommerce-cart .cart_totals p {
    margin-bottom: 0;
}

.woocommerce-cart .cart_totals .checkout-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--e-global-color-primary);
    color: white;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    transition: background-color 0.3s ease;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
    background-color: var(--e-global-color-accent);
}

/* Cross Sells */
.woocommerce .cross-sells a {
    text-decoration: none;
}

.woocommerce-cart table.cart {
    margin-bottom: 40px;
}


/*-----------------------------------
Checkout Page
-----------------------------------*/

/* Select2 Dropdown Styling */
.select2-container .select2-selection--single {
    padding: 5px;
    height: 48px !important;
    margin: 0 !important;
    border: 1px solid rgb(200, 200, 200);
    border-radius: 0;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

.woocommerce-checkout{
    clear: both;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    padding-left: 0;
}

/* Checkout Payment Styles */
.woocommerce-checkout #payment {
    background-color: #f8f8f8;
    border: 1px solid var(--e-global-color-ccbd08f);
    padding: 20px;
    margin-top: 20px;
}

.woocommerce-checkout #payment div.payment_box {
    background-color: white;
    border: 1px solid var(--e-global-color-ccbd08f);
    padding: 15px;
    margin: 10px 0;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 10px 0;
    border-bottom: 1px solid var(--e-global-color-ccbd08f);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li input {
    margin-right: 10px;
    position: relative;
    top: 3px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    display: inline-block;
    margin-bottom: 0;
    font-size: 1.2em;
}

.woocommerce-checkout #payment div.form-row {
    padding: 15px 0 0;
    margin: 0;
}

/* Shipping Methods */
.woocommerce-shipping-methods {
    list-style: none;
    padding-left: 0;
}

.woocommerce-shipping-methods li {
    padding: 10px 0;
    border-bottom: 1px solid var(--e-global-color-ccbd08f);
}

.woocommerce-shipping-methods li:last-child {
    border-bottom: none;
}

.woocommerce-shipping-methods li input {
    margin-right: 10px;
    width: 15px;
    height: 15px;
    cursor: pointer;
    position: relative;
    top: 3px;
}

.woocommerce-shipping-methods li label {
    display: inline-block;
    margin-bottom: 0;
    font-size: 1.2em;
}

/* Review Order Table */
#order_review_heading,
.absites-checkout-mobile-summary h3 {
    margin-bottom: 10px;
}

.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
    vertical-align: middle;
}

/* Place Order Button */
#place_order {
    width: 100%;
    padding: 15px;
    font-size: 1.1em;
}

/* Privacy Policy */
.woocommerce-privacy-policy-text p {
    font-size: 0.9em;
    margin-bottom: 15px;
}

/* --------------------------------------------------
   Checkout two-column layout
   Uses absites-checkout-form template override.
   Structure:
     form.absites-checkout-form
       .absites-checkout-mobile-summary  (summary table, mobile only — no payment)
       .absites-checkout-col--billing    (left on desktop)
       .absites-checkout-col--summary    (right on desktop: summary + payment + button)

   Mobile:  mobile-summary → billing → (full summary+payment hidden)
   Desktop: billing (left) | full summary+payment (right, sticky)
            mobile-summary hidden
-------------------------------------------------- */

/* Mobile: flex column */
.absites-checkout-form {
    display: flex;
    flex-direction: column;
}

/* Mobile-only summary: visible, sits above billing */
.absites-checkout-mobile-summary {
    display: block;
    margin-bottom: 30px;
}

/* Full summary+payment col: visible on mobile but hide the review table
   (already shown above in mobile-summary); only payment + button show */
.absites-checkout-col--summary {
    display: block;
}

.absites-checkout-col--summary #order_review_heading,
.absites-checkout-col--summary .woocommerce-checkout-review-order-table {
    display: none;
}

/* Desktop: two-column grid */
@media (min-width: 769px) {
    .absites-checkout-form {
        display: grid;
        grid-template-columns: 3fr 2fr;
        column-gap: 50px;
        align-items: start;
    }

    /* Mobile-only summary: hidden on desktop */
    .absites-checkout-mobile-summary {
        display: none;
    }

    /* Billing col: left */
    .absites-checkout-col--billing {
        grid-column: 1;
    }

    /* Full summary+payment col: right, sticky — show everything */
    .absites-checkout-col--summary {
        grid-column: 2;
        position: sticky;
        top: 30px;
        padding-top: 35px;
    }

    .absites-checkout-col--summary #order_review_heading,
    .absites-checkout-col--summary .woocommerce-checkout-review-order-table {
        display: unset;
    }

    /* Payment block inside summary col */
    .absites-checkout-col--summary #payment {
        margin-top: 20px;
    }
}

/* Neutralise WC's float-based col-1/col-2 inside billing column */
.absites-checkout-col--billing .col2-set {
    width: 100%;
}

.absites-checkout-col--billing .col2-set::before,
.absites-checkout-col--billing .col2-set::after {
    display: none;
}

.absites-checkout-col--billing .col-1 {
    float: none;
    width: 100%;
}

.absites-checkout-col--billing .col-2 {
    display: none;
}


/*-----------------------------------
Order Received Screen
-----------------------------------*/

.woocommerce-order-received .woocommerce-order {
    margin-top: 30px;
}

.woocommerce-order-received .woocommerce-notice {
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f8f8;
    border: 1px solid var(--e-global-color-ccbd08f);
}

.woocommerce-order-received ul.woocommerce-order-overview {
    list-style: none;
    padding: 20px;
    margin: 0 0 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    background: #f8f8f8;
    border: 1px solid var(--e-global-color-ccbd08f);
}

.woocommerce-order-received ul.woocommerce-order-overview li {
    flex: 1 1 150px;
    margin: 0;
    padding: 10px;
    border-right: 1px solid var(--e-global-color-ccbd08f);
}

.woocommerce-order-received ul.woocommerce-order-overview li:last-child {
    border-right: none;
}

.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block;
    font-size: 1.2em;
    margin-top: 5px;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 40px;
}

.woocommerce-order-received .woocommerce-table {
    margin-bottom: 40px;
}

.woocommerce-order-received .woocommerce-table th,
.woocommerce-order-received .woocommerce-table td {
    padding: 12px;
    text-align: left;
    vertical-align: middle;
}

.woocommerce-order-received .woocommerce-table tfoot tr:last-child {
    font-weight: bold;
}

.woocommerce-order-received address {
    padding: 20px;
    border: 1px solid var(--e-global-color-ccbd08f);
    background: #f8f8f8;
}

@media (max-width: 768px) {
    .woocommerce-order-received ul.woocommerce-order-overview li {
        border-right: none;
        border-bottom: 1px solid var(--e-global-color-ccbd08f);
    }

    .woocommerce-order-received ul.woocommerce-order-overview li:last-child {
        border-bottom: none;
    }
}

.woocommerce-order-received .woocommerce-table td.product-name a {
    text-decoration: none;
    font-size: 1.3em;
    color: var(--e-global-color-text);
}
