/**
 * Cart / Checkout blocks layout — loads after WooCommerce + theme CSS.
 */

/* ── 左侧卡片：四周留白与右侧 Cart totals 一致（20px）── */
body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main.wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__main {
    padding: 20px !important;
    background: #fff !important;
    border: 1px solid rgba(189, 189, 189, 0.35) !important;
    border-radius: 1rem !important;
    box-shadow: 0 2px 12px rgba(10, 33, 79, 0.04) !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-cart-line-items-block,
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* ── 右侧汇总卡片：同样 20px 留白 ── */
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar:not(:has(.wc-block-cart__sidebar)),
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar:not(:has(.wc-block-checkout__sidebar)) {
    padding: 20px !important;
    box-sizing: border-box !important;
}

/* ── 打破 table，改用 flex 布局 ── */
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items,
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items thead,
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items thead {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items tbody,
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
}

/* ── 左右卡片头：统一高度变量 ── */
body.woocommerce-cart,
body.woocommerce-checkout {
    --eb-cart-header-font: 1.2rem;
    --eb-cart-header-lh: 1.3;
    --eb-cart-header-accent-gap: 10px;
    --eb-cart-header-accent-h: 3px;
    --eb-cart-header-pad-bottom: 12px;
    --eb-cart-header-margin-bottom: 16px;
    --eb-cart-header-border: 1px solid rgba(189, 189, 189, 0.35);
    --eb-cart-header-min-h: calc(
        var(--eb-cart-header-font) * var(--eb-cart-header-lh) +
        var(--eb-cart-header-accent-gap) +
        var(--eb-cart-header-accent-h) +
        var(--eb-cart-header-pad-bottom) +
        1px
    );
}

/* 左侧表头容器 */
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: var(--eb-cart-header-min-h) !important;
    margin: 0 0 var(--eb-cart-header-margin-bottom) !important;
    padding: 0 0 var(--eb-cart-header-pad-bottom) !important;
    border-bottom: var(--eb-cart-header-border) !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

body.woocommerce-cart .wc-block-cart-items__header-image {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* 表头：Details 与 Total 同一行、同字号 */
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-product,
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-total {
    color: #0a214f !important;
    font-size: var(--eb-cart-header-font) !important;
    font-weight: 700 !important;
    line-height: var(--eb-cart-header-lh) !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: visible !important;
    white-space: nowrap !important;
    border-bottom: none !important;
}

body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-product span,
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-total span {
    display: block !important;
    font: inherit !important;
    line-height: inherit !important;
}

body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-product {
    flex: 1 1 auto !important;
    text-align: left !important;
    position: relative !important;
}

body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-total {
    flex: 0 0 auto !important;
    text-align: right !important;
    align-self: flex-start !important;
}

body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-product::after {
    content: "" !important;
    display: block !important;
    width: 3.5rem !important;
    height: var(--eb-cart-header-accent-h) !important;
    margin-top: var(--eb-cart-header-accent-gap) !important;
    border-radius: 2px !important;
    background: #1b8415 !important;
}

body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header .wc-block-cart-items__header-total::after {
    display: none !important;
    content: none !important;
}

/* ── 商品行：grid 对齐，数量与产品名称左缘一致 ── */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) 100px !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    align-items: start !important;
    width: 100% !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(189, 189, 189, 0.35) !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    flex: unset !important;
    width: 88px !important;
    order: unset !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex: unset !important;
    min-width: 0 !important;
    order: unset !important;
    text-align: left !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    flex: unset !important;
    width: auto !important;
    order: unset !important;
    margin-left: 0 !important;
    justify-self: end !important;
    text-align: right !important;
    align-self: flex-start !important;
    white-space: nowrap !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
    grid-column: 2 !important;
    grid-row: 2 !important;
    flex: unset !important;
    order: unset !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-self: start !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 80px !important;
    max-width: 80px !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0.5rem !important;
    background: #f9f9f9 !important;
    display: block !important;
}

body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    color: #0a214f !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    color: #1b8415 !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
    color: #555 !important;
}

/* 右侧：只样式化 h2，外层 div 清零（避免双层 padding / 双绿线） */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart h2.wc-block-cart__totals-title {
    color: #0a214f !important;
    font-size: var(--eb-cart-header-font) !important;
    font-weight: 700 !important;
    line-height: var(--eb-cart-header-lh) !important;
    letter-spacing: 0.01em !important;
    margin: 0 0 var(--eb-cart-header-margin-bottom) !important;
    padding: 0 0 var(--eb-cart-header-pad-bottom) !important;
    min-height: var(--eb-cart-header-min-h) !important;
    border: none !important;
    border-bottom: var(--eb-cart-header-border) !important;
    position: relative !important;
    box-sizing: border-box !important;
    display: block !important;
    background: transparent !important;
}

body.woocommerce-cart h2.wc-block-cart__totals-title::after {
    content: "" !important;
    display: block !important;
    width: 3.5rem !important;
    height: var(--eb-cart-header-accent-h) !important;
    margin-top: var(--eb-cart-header-accent-gap) !important;
    border-radius: 2px !important;
    background: #1b8415 !important;
}

/* Checkout：Order summary 绿线在标题文字下方左对齐 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-heading-block {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-heading-block::after,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 var(--eb-cart-header-margin-bottom) !important;
    padding: 0 0 var(--eb-cart-header-pad-bottom) !important;
    min-height: var(--eb-cart-header-min-h) !important;
    border: none !important;
    border-bottom: var(--eb-cart-header-border) !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0a214f !important;
    font-size: var(--eb-cart-header-font) !important;
    font-weight: 700 !important;
    line-height: var(--eb-cart-header-lh) !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text::after {
    content: "" !important;
    display: block !important;
    width: 3.5rem !important;
    height: var(--eb-cart-header-accent-h) !important;
    margin-top: var(--eb-cart-header-accent-gap) !important;
    border-radius: 2px !important;
    background: #1b8415 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-open-close {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin-top: 0.15rem !important;
}

/* PC 端：左右卡片内容区宽度 90%，与参考图一致的内侧留白 */
@media (min-width: 992px) {
    body.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-cart-line-items-block,
    body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items,
    body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
    body.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals,
    body.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-container,
    body.woocommerce-cart .wc-block-components-sidebar:not(:has(.wc-block-cart__sidebar)) .wp-block-woocommerce-cart-order-summary-block,
    body.woocommerce-cart .wc-block-components-sidebar:not(:has(.wc-block-cart__sidebar)) .wc-block-cart__submit-container {
        width: 90% !important;
        max-width: 90% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 991px) {
    body.woocommerce-cart .wc-block-cart__main {
        padding: 16px !important;
    }

    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-cart .wc-block-components-sidebar:not(:has(.wc-block-cart__sidebar)) {
        padding: 16px !important;
    }

    /* Checkout Order summary：手机端精简商品行，避免价格/描述重复 */
    body.woocommerce-checkout .wc-block-components-order-summary-item {
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 12px 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description {
        padding: 0 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price {
        display: none !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
        display: none !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__total,
    body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        flex: 0 0 auto !important;
        align-self: flex-start !important;
        padding: 0 !important;
        margin-left: auto !important;
        text-align: right !important;
        white-space: nowrap !important;
    }
}

/* checkout 侧栏沿用固定留白 */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar:not(:has(.wc-block-checkout__sidebar)) {
    padding: 20px !important;
    box-sizing: border-box !important;
}
