/*
 * Neutral Cart Block shell.
 * Cart state, calculation, notices and checkout routing remain in Core.
 */

body.woocommerce-cart .bhw-reading-content {
    width: 100%;
    max-width: none;
}

body.woocommerce-cart .wp-block-woocommerce-cart {
    margin-block: 0;
    color: var(--bhw-color-text-primary);
}

body.woocommerce-cart .wc-block-cart {
    gap: var(--bhw-layout-grid-gap);
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
    min-width: 0;
}

body.woocommerce-cart .wc-block-cart-items {
    border-collapse: separate;
    border-spacing: 0;
    border: var(--bhw-border-thin) solid var(--bhw-color-border);
    border-radius: var(--bhw-radius-large);
    background: var(--bhw-color-panel);
}

body.woocommerce-cart .wc-block-cart-items th {
    border-color: var(--bhw-color-border);
    color: var(--bhw-color-text-secondary);
    font-size: var(--bhw-text-sm);
    letter-spacing: var(--bhw-tracking-wide);
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items td {
    border-color: var(--bhw-color-border);
}

body.woocommerce-cart .wc-block-cart-item__image img {
    border: var(--bhw-border-thin) solid var(--bhw-color-border);
    border-radius: var(--bhw-radius-medium);
    background: var(--bhw-color-background-secondary);
}

body.woocommerce-cart .wc-block-components-product-name {
    color: var(--bhw-color-text-primary);
    font-family: var(--bhw-font-heading);
    font-size: var(--bhw-text-lg);
    font-weight: var(--bhw-weight-semibold);
    line-height: var(--bhw-leading-tight);
    overflow-wrap: anywhere;
}

body.woocommerce-cart .wc-block-components-product-metadata {
    color: var(--bhw-color-text-secondary);
    font-size: var(--bhw-text-sm);
}

body.woocommerce-cart .wc-block-components-product-details {
    margin-block: var(--bhw-space-2);
}

body.woocommerce-cart .wc-block-components-product-details li {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bhw-space-2);
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    min-height: var(--bhw-control-min-size);
    border-color: var(--bhw-color-border-strong);
    border-radius: var(--bhw-radius-pill);
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
    min-width: var(--bhw-control-min-size);
    min-height: var(--bhw-control-min-size);
    color: var(--bhw-color-text-primary);
    font-size: var(--bhw-text-base);
}

body.woocommerce-cart .wc-block-components-quantity-selector button {
    min-width: var(--bhw-control-min-size);
    min-height: var(--bhw-control-min-size);
    color: var(--bhw-color-text-primary);
}

body.woocommerce-cart
    .wc-block-components-quantity-selector
    :where(button, input):focus-visible,
body.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible,
body.woocommerce-cart .wc-block-components-totals-coupon__button:focus-visible,
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible {
    outline: var(--bhw-border-focus) solid var(--bhw-color-focus);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px var(--bhw-color-focus-contrast);
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    min-width: var(--bhw-control-min-size);
    min-height: var(--bhw-control-min-size);
    border-radius: var(--bhw-radius-pill);
    color: var(--bhw-color-text-secondary);
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: var(--bhw-color-error);
}

body.woocommerce-cart .wc-block-cart__sidebar {
    align-self: start;
    padding: var(--bhw-space-5);
    border: var(--bhw-border-thin) solid var(--bhw-color-border);
    border-radius: var(--bhw-radius-large);
    background: var(--bhw-color-panel);
}

body.woocommerce-cart .wc-block-cart__totals-title {
    color: var(--bhw-color-text-primary);
    font-family: var(--bhw-font-heading);
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
    border-color: var(--bhw-color-border);
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
    font-size: var(--bhw-text-lg);
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
    min-height: var(--bhw-control-min-size);
}

body.woocommerce-cart .wc-block-cart__submit-button {
    min-height: var(--bhw-control-min-size);
    border-radius: var(--bhw-radius-pill);
    background: var(--bhw-color-accent);
    color: var(--bhw-color-focus-contrast);
    font-weight: var(--bhw-weight-bold);
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: var(--bhw-color-accent-hover);
    color: var(--bhw-color-focus-contrast);
}

body.woocommerce-cart .wc-block-components-notice-banner {
    border: var(--bhw-border-thin) solid var(--bhw-color-border-strong);
    border-inline-start-width: 0.3rem;
    border-radius: var(--bhw-radius-medium);
    background: var(--bhw-color-background-secondary);
    color: var(--bhw-color-text-primary);
}

body.woocommerce-cart .wc-block-components-notice-banner.is-success {
    border-inline-start-color: var(--bhw-color-success);
}

body.woocommerce-cart .wc-block-components-notice-banner.is-error {
    border-inline-start-color: var(--bhw-color-error);
}

body.woocommerce-cart .wc-block-components-notice-banner.is-info {
    border-inline-start-color: var(--bhw-color-warning);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    display: grid;
    gap: var(--bhw-space-6);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
    color: var(--bhw-color-text-primary);
}

.bhw-cart-empty__actions {
    display: flex;
    justify-content: center;
}

@media (min-width: 60rem) {
    body.woocommerce-cart .wc-block-cart__sidebar {
        position: sticky;
        inset-block-start: var(--bhw-space-5);
    }
}

@media (max-width: 47.999rem) {
    body.woocommerce-cart .wc-block-cart {
        display: grid;
        gap: var(--bhw-space-6);
    }

    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-cart__sidebar {
        width: 100%;
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        padding: var(--bhw-space-4);
    }

    body.woocommerce-cart .wc-block-cart-item__wrap {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 34.999rem) {
    body.woocommerce-cart .wc-block-cart-items {
        width: 100%;
        table-layout: fixed;
        border-radius: var(--bhw-radius-medium);
    }

    body.woocommerce-cart .wc-block-components-product-name {
        font-size: var(--bhw-text-base);
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        padding: var(--bhw-space-3);
    }
}
