.gtea-widget-wc-cart {
    .gtea-widget-wc-cart__wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;

        .woocommerce-notices-wrapper,
        .wc-empty-cart-message {
            width: 100%;
        }

        .return-to-shop {
            display: none;
        }

        .woocommerce-cart-form {
            width: 69%;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;

            .variation {
                text-align: left;
            }

            table {
                border: none;
                th, td, tr {
                    border: none;
                }
            }
            .product-name {
                a {
                    display: block;
                }
            }
            .product-price > span,
            .product-subtotal > span,
            .coupon-error-notice {
                display: inline-flex;
            }
            .actions {
                text-align: initial;
            }
            .coupon {
                float: none !important;
                display: flex;
                flex-wrap: wrap;
                input {
                    float: none;
                }
            }
        }
        .cart-collaterals {
            width: 29%;
            justify-content: flex-start;

            table {
                border: none;
                th, td, tr {
                    border: none;
                }
            }
            .cart_totals {
                float: none;
                width: 100%;
            }
            .select2-selection__rendered {
                display: flex;
                align-items: center;
            }
            .select2-container .select2-selection--single {
                height: auto !important;
            }
            .select2-container .select2-selection--single .select2-selection__arrow {
                height: 100% !important;
            }
            .select2.select2-container .select2-selection {
                overflow: hidden;
            }
        }
    }
}

/**
 * Shipping methods list — flex base.
 * WooCommerce leaves the list as a plain block, so the alignment and gap
 * controls of "Cart total shipping methods" would have nothing to act on.
 * Stacked flex items render identically to the block default (align-items
 * defaults to stretch), so this does not change the current look.
 */
.gtea-widget-wc-cart .woocommerce-shipping-totals ul#shipping_method,
.gtea-widget-wc-cart .woocommerce-shipping-totals ul.woocommerce-shipping-methods {
    display: flex;
    flex-direction: column;
}

/**
 * Shipping methods list — custom radio appearance.
 * Only active when the "Custom radio style" control is enabled,
 * so the browser default radio stays untouched otherwise.
 */
.gtea-widget-wc-cart--custom-shipping-radio {
    .woocommerce-shipping-totals ul#shipping_method > li,
    .woocommerce-shipping-totals ul.woocommerce-shipping-methods > li {
        display: flex;
        align-items: center;
        gap: 8px;

        label {
            margin: 0;
            cursor: pointer;
        }

        input[type="radio"].shipping_method {
            -webkit-appearance: none;
            appearance: none;
            display: inline-grid;
            place-content: center;
            width: 18px;
            height: 18px;
            margin: 0;
            padding: 0;
            flex-shrink: 0;
            border: 1px solid currentColor;
            border-radius: 50%;
            background-color: transparent;
            cursor: pointer;
        }

        input[type="radio"].shipping_method::before {
            content: "";
            display: block;
            width: 60%;
            height: 60%;
            border-radius: 50%;
            background-color: currentColor;
            transform: scale(0);
            transition: transform .15s ease-in-out;
        }

        input[type="radio"].shipping_method:checked::before {
            transform: scale(1);
        }
    }
}