/* Limebug Commerce UI v0.7.0 — native Rey cart skin, mobile.
   Same WooCommerce/Rey DOM; CSS only. */
body.lbcui-cart-active.woocommerce-cart{background:#fff;color:var(--lbcui-text);overflow-x:hidden}
body.lbcui-cart-active.woocommerce-cart :is(.rey-pageHead,.rey-pageCover,.woocommerce-products-header,.page-header,.entry-header){display:none!important}
body.lbcui-cart-active.woocommerce-cart .rey-cartPage-inner{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:74px 0 30px!important;
    display:block!important;
    box-sizing:border-box!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-formWrapper,
body.lbcui-cart-active.woocommerce-cart form.woocommerce-cart-form{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.lbcui-cart-active.woocommerce-cart .rey-cartShippingBar{margin:0 0 10px!important}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart{display:block!important;width:100%!important;margin:0!important;border:0!important}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart thead{display:none!important}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody{display:block!important;width:100%!important}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 104px minmax(88px,1fr)!important;
    grid-template-areas:"name name name" "price qty subtotal"!important;
    gap:10px 8px!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:10px!important;
    border:1px solid var(--lbcui-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item>td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important}
body.lbcui-cart-active.woocommerce-cart td.product-name{grid-area:name!important;padding-right:30px!important}
body.lbcui-cart-active.woocommerce-cart td.product-price{grid-area:price!important}
body.lbcui-cart-active.woocommerce-cart td.product-quantity{grid-area:qty!important;text-align:center!important}
body.lbcui-cart-active.woocommerce-cart td.product-subtotal{grid-area:subtotal!important;text-align:right!important;min-width:0!important}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-name{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail{width:82px!important;height:82px!important;margin:0!important;padding:0!important}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail img{display:block!important;width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important;object-fit:contain!important;margin:0!important;padding:3px!important;background:var(--lbcui-surface-soft)!important;border-radius:9px!important;box-sizing:border-box!important}
body.lbcui-cart-active.woocommerce-cart td.product-name :is(p,dl,dt,dd){margin:0!important;padding:0!important;line-height:1.22!important}
body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove){display:block!important;width:100%!important;color:var(--lbcui-text)!important;font-size:14.5px!important;line-height:1.22!important;font-weight:400!important;text-decoration:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
body.lbcui-cart-active.woocommerce-cart td.product-name :is(.product-sku,.sku,[class*="sku" i]){display:block!important;margin-top:3px!important;color:var(--lbcui-muted)!important;font-size:10.5px!important;line-height:1.15!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart td[data-title]::before{display:block!important;float:none!important;margin:0 0 4px!important;color:var(--lbcui-muted)!important;font-size:9px!important;line-height:1.1!important;letter-spacing:.065em!important;text-transform:uppercase!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart :is(td.product-price,td.product-subtotal){font-size:13px!important;line-height:1.2!important;font-weight:400!important;white-space:nowrap!important;overflow:visible!important}
body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:96px!important;height:36px!important;margin:0 auto!important;border:1px solid var(--lbcui-border-strong)!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important}
body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls :is(button,.rey-qtyField-btn){display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;min-width:30px!important;height:34px!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;font-size:17px!important;line-height:1!important}
body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls input.qty{display:block!important;width:34px!important;min-width:34px!important;height:34px!important;margin:0!important;padding:0!important;border:0!important;text-align:center!important;font-size:13px!important;line-height:34px!important;font-weight:400!important;background:#fff!important;appearance:textfield!important}
body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls input.qty::-webkit-outer-spin-button,body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.lbcui-cart-active.woocommerce-cart a.remove{position:absolute!important;top:8px!important;right:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;margin:0!important;padding:0!important;border:1px solid var(--lbcui-border)!important;border-radius:999px!important;background:#fff!important;color:#68706c!important;font-size:18px!important;line-height:1!important;text-indent:0!important}
body.lbcui-cart-active.woocommerce-cart tr.cart_item+tr:not(.cart_item){display:none!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals{position:static!important;width:100%!important;max-width:none!important;margin:14px 0 0!important;padding:14px!important;border:1px solid var(--lbcui-border)!important;border-radius:14px!important;background:var(--lbcui-surface-subtle)!important;box-shadow:var(--lbcui-shadow-soft)!important;box-sizing:border-box!important;overflow:hidden!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2{margin:0 0 10px!important;padding:0 0 11px!important;border-bottom:1px solid var(--lbcui-border)!important;color:transparent!important;font-size:0!important;line-height:1!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::before{content:"Limebug";display:inline-block;color:var(--lbcui-accent-dark)!important;font-size:22px!important;line-height:1!important;font-style:italic!important;font-weight:400!important;margin-right:14px!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::after{content:"ORDER SUMMARY";color:var(--lbcui-text)!important;font-size:10px!important;line-height:1!important;letter-spacing:.06em!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals table{display:table!important;width:100%!important;margin:0!important;border:0!important;table-layout:fixed!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals tr{display:table-row!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals :is(th,td){display:table-cell!important;width:50%!important;padding:10px 0!important;border:0!important;border-bottom:1px solid var(--lbcui-border)!important;font-size:12.5px!important;line-height:1.3!important;vertical-align:top!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals th{text-align:left!important;color:var(--lbcui-muted)!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals td{text-align:right!important;color:var(--lbcui-text)!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total :is(th,td){padding:13px 0!important;border-bottom:0!important;color:var(--lbcui-text)!important;font-size:17px!important;font-weight:400!important}
body.lbcui-cart-active.woocommerce-cart .wc-proceed-to-checkout{margin:0!important;padding:12px 0 0!important}
body.lbcui-cart-active.woocommerce-cart .wc-proceed-to-checkout .checkout-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:46px!important;margin:0!important;border:1px solid #111!important;border-radius:9px!important;background:#111!important;color:#fff!important;font-size:13px!important;font-weight:400!important;text-transform:none!important;text-decoration:none!important}
body.lbcui-cart-active.woocommerce-cart .cart-collaterals{display:none!important}

/* v0.7.1 mobile refinement: compact notices and non-floating remove control. */
body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-notices-wrapper,
body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-message,
body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-info,
body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-error,
body.lbcui-cart-active.woocommerce-cart .elementor-widget-reycore-wc-cart .woocommerce-notices-wrapper{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    min-height:0!important;
    margin:6px auto!important;
    padding:0!important;
    box-sizing:border-box!important;
}
body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
    min-height:40px!important;
    height:auto!important;
    margin:0 0 6px!important;
    padding:9px 12px 9px 40px!important;
    border:1px solid var(--lbcui-border)!important;
    border-radius:9px!important;
    background:var(--lbcui-surface-soft)!important;
    box-shadow:none!important;
    font-size:12px!important;
    line-height:1.3!important;
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
}
body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
    top:50%!important;
    left:13px!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item a.remove{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:inline-flex!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    margin:5px 0 0!important;
    padding:0!important;
    border:1px solid var(--lbcui-border)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#68706c!important;
    font-size:14px!important;
    line-height:1!important;
    align-items:center!important;
    justify-content:center!important;
}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::before{content:none!important;display:none!important}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::after{
    content:"ORDER SUMMARY"!important;
    display:inline-block!important;
    color:var(--lbcui-text)!important;
    font-size:10px!important;
    line-height:1.1!important;
    letter-spacing:.07em!important;
    font-weight:400!important;
}

/* v0.7.2 mobile refinement: unified type scale, tight cards and external remove X. */
body.lbcui-cart-active.woocommerce-cart{
    --lbcui-cart-fs-small:11px;
    --lbcui-cart-fs-base:14px;
    --lbcui-cart-fs-large:18px;
}
body.lbcui-cart-active.woocommerce-cart .rey-cartPage-inner{
    padding-top:62px!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-notices-wrapper,
body.lbcui-cart-active.woocommerce-cart .elementor-widget-reycore-wc-cart .woocommerce-notices-wrapper{
    margin:4px auto 7px!important;
}
body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
    min-height:38px!important;
    padding:8px 12px 8px 38px!important;
    font-size:var(--lbcui-cart-fs-base)!important;
    line-height:1.25!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart{
    width:calc(100% - 20px)!important;
    margin:0 10px!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    gap:7px 8px!important;
    margin:0 0 7px!important;
    padding:9px!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart td.product-name{padding-right:0!important}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item a.remove{
    position:absolute!important;
    top:50%!important;
    right:-13px!important;
    left:auto!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--lbcui-border-strong)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#5f6763!important;
    font-size:var(--lbcui-cart-fs-base)!important;
    line-height:1!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:2!important;
}
body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove){
    font-size:var(--lbcui-cart-fs-base)!important;
    line-height:1.2!important;
    font-weight:400!important;
}
body.lbcui-cart-active.woocommerce-cart td.product-name :is(p,dl,dt,dd){
    margin:0!important;
    padding:0!important;
    line-height:1.2!important;
}
body.lbcui-cart-active.woocommerce-cart td.product-name p + p{margin-top:2px!important}
body.lbcui-cart-active.woocommerce-cart td.product-name :is(.product-sku,.sku,[class*="sku" i]),
body.lbcui-cart-active.woocommerce-cart td[data-title]::before{
    font-size:var(--lbcui-cart-fs-small)!important;
    line-height:1.15!important;
}
body.lbcui-cart-active.woocommerce-cart :is(td.product-price,td.product-subtotal),
body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls input.qty,
body.lbcui-cart-active.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.lbcui-cart-active.woocommerce-cart .cart_totals :is(th,td),
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::after{
    font-size:var(--lbcui-cart-fs-base)!important;
}
body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total :is(th,td){
    font-size:var(--lbcui-cart-fs-large)!important;
}

/* v0.7.3: remove empty notice shells and anchor the native remove link outside each row. */
body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):empty{
    display:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-notices-wrapper:has(> :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):only-child:empty){
    display:none!important;
    margin:0!important;
    padding:0!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    position:relative!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item .lbcui-remove{
    position:absolute!important;
    top:12px!important;
    right:-10px!important;
    left:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--lbcui-border-strong)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#5f6763!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1!important;
    text-decoration:none!important;
    text-transform:none!important;
    opacity:1!important;
    z-index:5!important;
}

/* v0.7.4 precision cleanup — mobile, native Rey functionality retained. */
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    margin:0 0 9px!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail,
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-item-thumb{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:74px!important;
    height:70px!important;
    min-width:74px!important;
    min-height:70px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail img{
    width:70px!important;
    height:auto!important;
    max-width:70px!important;
    max-height:66px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    object-fit:contain!important;
}
body.lbcui-cart-active.woocommerce-cart td.product-name,
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-name,
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-name > :not(.woocommerce-cart-form__cart-thumbnail){line-height:1.16!important}
body.lbcui-cart-active.woocommerce-cart td.product-name :is(a,span,strong,p,div):not(.remove):not(.lbcui-remove){margin-top:0!important;margin-bottom:0!important}
body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove):not(.lbcui-remove){display:inline!important;line-height:1.16!important}

body.lbcui-cart-active.woocommerce-cart tr.cart_item > td.product-name,
body.lbcui-cart-active.woocommerce-cart tr.cart_item .woocommerce-cart-form__cart-name,
body.lbcui-cart-active.woocommerce-cart tr.cart_item .woocommerce-cart-form__cart-name > *{position:static!important}
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.remove,
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.lbcui-remove{
    position:absolute!important;
    top:12px!important;
    right:-10px!important;
    left:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--lbcui-border-strong)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:transparent!important;
    font-size:0!important;
    line-height:1!important;
    text-decoration:none!important;
    opacity:1!important;
    z-index:10!important;
}
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.remove::before,
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.lbcui-remove::before{content:"×"!important;color:#5f6763!important;font-size:18px!important;line-height:1!important}
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.remove::after,
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.lbcui-remove::after{content:none!important;display:none!important}

/* v0.7.5 — mobile native remove X + uncropped square image area. */
body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    position:relative!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail,
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-item-thumb{
    width:84px!important;
    height:84px!important;
    min-width:84px!important;
    min-height:84px!important;
    max-width:84px!important;
    max-height:84px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
}
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-thumbnail img,
body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-item-thumb img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    clip:auto!important;
}
body.lbcui-cart-active.woocommerce-cart tr.cart_item :is(
    a.remove,
    a.lbcui-remove,
    a.lbcui-native-remove,
    a[href*="remove_item"],
    a[href*="remove-item"],
    a[aria-label*="remove" i]
){
    position:absolute!important;
    top:12px!important;
    right:-10px!important;
    left:auto!important;
    transform:none!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--lbcui-border-strong)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#5f6763!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:400!important;
    letter-spacing:0!important;
    text-indent:0!important;
    text-transform:none!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    z-index:20!important;
}
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.lbcui-native-remove::before,
body.lbcui-cart-active.woocommerce-cart tr.cart_item a.lbcui-native-remove::after{
    content:none!important;
    display:none!important;
}

/* v0.7.7 — MOBILE ONLY. Desktop v0.7.6 is locked.
   Tight viewport geometry, compact notice, SKU removed from layout flow. */
@media (max-width: 767px){
    body.lbcui-cart-active.woocommerce-cart .rey-cartPage-inner{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:48px 12px 24px!important;
        box-sizing:border-box!important;
        overflow:visible!important;
    }

    body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-formWrapper,
    body.lbcui-cart-active.woocommerce-cart form.woocommerce-cart-form,
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
        box-sizing:border-box!important;
    }

    body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-notices-wrapper,
    body.lbcui-cart-active.woocommerce-cart .elementor-widget-reycore-wc-cart .woocommerce-notices-wrapper{
        width:calc(100% - 24px)!important;
        max-width:none!important;
        margin:2px 12px 6px!important;
        padding:0!important;
        box-sizing:border-box!important;
    }
    body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
        min-height:32px!important;
        margin:0 0 5px!important;
        padding:6px 9px 6px 32px!important;
        border-radius:8px!important;
        font-size:12px!important;
        line-height:1.2!important;
    }
    body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
        left:10px!important;
        font-size:13px!important;
    }

    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
        width:100%!important;
        max-width:100%!important;
        grid-template-columns:minmax(0,1fr) 96px minmax(82px,1fr)!important;
        grid-template-areas:"name name name" "price qty subtotal"!important;
        gap:7px 6px!important;
        margin:0 0 8px!important;
        padding:9px 10px!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }

    body.lbcui-cart-active.woocommerce-cart td.product-name{
        position:relative!important;
        min-width:0!important;
        padding-right:24px!important;
    }
    body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-name{
        grid-template-columns:84px minmax(0,1fr)!important;
        gap:10px!important;
        min-width:0!important;
        align-items:center!important;
    }

    /* Keep SKU visible but remove it from document flow so it cannot push
       Price / Quantity / Subtotal down the card. */
    body.lbcui-cart-active.woocommerce-cart td.product-name :is(.product-sku,.sku,[class*="sku" i]){
        position:absolute!important;
        left:94px!important;
        bottom:2px!important;
        width:calc(100% - 102px)!important;
        margin:0!important;
        padding:0!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        font-size:10px!important;
        line-height:1!important;
        z-index:1!important;
    }

    /* Give title enough room above the absolutely-positioned SKU. */
    body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove):not(.lbcui-remove):not(.lbcui-native-remove){
        padding-bottom:15px!important;
    }

    /* Keep the remove action inside the viewport on mobile. */
    body.lbcui-cart-active.woocommerce-cart tr.cart_item :is(
        a.remove,
        a.lbcui-remove,
        a.lbcui-native-remove,
        a[href*="remove_item"],
        a[href*="remove-item"],
        a[aria-label*="remove" i]
    ){
        top:7px!important;
        right:7px!important;
        width:24px!important;
        height:24px!important;
        min-width:24px!important;
        min-height:24px!important;
        z-index:20!important;
    }

    body.lbcui-cart-active.woocommerce-cart td.product-price,
    body.lbcui-cart-active.woocommerce-cart td.product-quantity,
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal{
        min-width:0!important;
        align-self:end!important;
    }
}

/* v0.7.8 — MOBILE ONLY refinement. Desktop v0.7.6 remains locked.
   Goal: compact name block, one-line price/qty/subtotal row, fully visible remove X. */
@media (max-width: 767px){
    /* Reduce dead space above the first cart notice without touching desktop. */
    body.lbcui-cart-active.woocommerce-cart .rey-cartPage-inner{
        padding-top:20px!important;
        padding-left:10px!important;
        padding-right:10px!important;
    }

    body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-notices-wrapper,
    body.lbcui-cart-active.woocommerce-cart .elementor-widget-reycore-wc-cart .woocommerce-notices-wrapper{
        width:100%!important;
        max-width:100%!important;
        margin:0 0 8px!important;
        padding:0!important;
    }
    body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
        min-height:30px!important;
        margin:0 0 5px!important;
        padding:5px 8px 5px 29px!important;
        border-radius:7px!important;
        font-size:11px!important;
        line-height:1.15!important;
    }
    body.lbcui-cart-active.woocommerce-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
        left:9px!important;
        font-size:12px!important;
    }

    /* Keep every card inside the viewport. */
    body.lbcui-cart-active.woocommerce-cart form.woocommerce-cart-form,
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart,
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        grid-template-columns:minmax(0,1fr) 90px minmax(88px,1fr)!important;
        grid-template-areas:"name name name" "price qty subtotal"!important;
        column-gap:5px!important;
        row-gap:3px!important;
        padding:8px 10px 7px!important;
        margin:0 0 8px!important;
        overflow:visible!important;
        box-sizing:border-box!important;
    }

    /* The remove link must anchor to the whole card, not the product-name cell. */
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item > td.product-name{
        position:static!important;
        min-width:0!important;
        padding-right:0!important;
        margin:0!important;
    }
    body.lbcui-cart-active.woocommerce-cart .woocommerce-cart-form__cart-name{
        display:grid!important;
        grid-template-columns:84px minmax(0,1fr)!important;
        grid-template-rows:auto!important;
        align-items:center!important;
        gap:8px!important;
        min-width:0!important;
        margin:0!important;
        padding:0 28px 0 0!important;
    }

    /* Remove the v0.7.7 absolute SKU reservation and keep SKU naturally tucked
       below the title so it does not create a large empty middle section. */
    body.lbcui-cart-active.woocommerce-cart td.product-name :is(.product-sku,.sku,[class*="sku" i]){
        position:static!important;
        display:block!important;
        width:auto!important;
        max-width:100%!important;
        margin:3px 0 0!important;
        padding:0!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        font-size:9px!important;
        line-height:1.1!important;
        color:#6f7774!important;
        z-index:auto!important;
    }
    body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove):not(.lbcui-remove):not(.lbcui-native-remove){
        padding-bottom:0!important;
        margin-bottom:0!important;
        line-height:1.18!important;
    }

    /* Pull the commercial values directly beneath the title/image block. */
    body.lbcui-cart-active.woocommerce-cart td.product-price,
    body.lbcui-cart-active.woocommerce-cart td.product-quantity,
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal{
        margin-top:0!important;
        padding-top:0!important;
        padding-bottom:0!important;
        min-height:38px!important;
        align-self:start!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:flex-end!important;
        line-height:1.05!important;
    }
    body.lbcui-cart-active.woocommerce-cart td.product-price{align-items:flex-start!important;text-align:left!important;}
    body.lbcui-cart-active.woocommerce-cart td.product-quantity{align-items:center!important;text-align:center!important;}
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal{align-items:flex-end!important;text-align:right!important;}
    body.lbcui-cart-active.woocommerce-cart td.product-price::before,
    body.lbcui-cart-active.woocommerce-cart td.product-quantity::before,
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal::before{
        margin:0 0 2px!important;
        line-height:1!important;
        font-size:9px!important;
    }

    /* Fully visible remove button at the card's upper-right corner. */
    body.lbcui-cart-active.woocommerce-cart tr.cart_item :is(
        a.remove,
        a.lbcui-remove,
        a.lbcui-native-remove,
        a[href*="remove_item"],
        a[href*="remove-item"],
        a[aria-label*="remove" i]
    ){
        position:absolute!important;
        top:8px!important;
        right:8px!important;
        left:auto!important;
        transform:none!important;
        width:22px!important;
        height:22px!important;
        min-width:22px!important;
        min-height:22px!important;
        max-width:22px!important;
        max-height:22px!important;
        margin:0!important;
        padding:0!important;
        box-sizing:border-box!important;
        z-index:40!important;
    }
}

/* v0.8.3: remove Rey's persistent free-shipping progress bar. */
body.lbcui-cart-active.woocommerce-cart .rey-cartShippingBar{display:none!important;}

/* v0.8.7 — responsive mobile/tablet commercial row stabilisation.
   Keep Price / Quantity / Subtotal on one equal three-column row as the
   viewport compresses, rather than mixing fixed and percentage-like tracks. */
@media (max-width: 767px){
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-areas:"name name name" "price qty subtotal"!important;
        column-gap:8px!important;
    }

    body.lbcui-cart-active.woocommerce-cart td.product-price,
    body.lbcui-cart-active.woocommerce-cart td.product-quantity,
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        margin:0!important;
        padding:0!important;
        box-sizing:border-box!important;
        align-self:start!important;
        justify-content:flex-start!important;
    }

    body.lbcui-cart-active.woocommerce-cart td.product-price{align-items:flex-start!important;text-align:left!important;}
    body.lbcui-cart-active.woocommerce-cart td.product-quantity{align-items:center!important;text-align:center!important;}
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal{align-items:flex-end!important;text-align:right!important;}

    body.lbcui-cart-active.woocommerce-cart td.product-price::before,
    body.lbcui-cart-active.woocommerce-cart td.product-quantity::before,
    body.lbcui-cart-active.woocommerce-cart td.product-subtotal::before{
        display:block!important;
        width:100%!important;
        margin:0 0 4px!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls{
        width:min(96px,100%)!important;
        max-width:96px!important;
        min-width:0!important;
        margin:0 auto!important;
        box-sizing:border-box!important;
    }

    body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls :is(button,.rey-qtyField-btn){
        flex:0 0 29px!important;
        width:29px!important;
        min-width:29px!important;
    }
    body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls input.qty{
        flex:1 1 auto!important;
        width:auto!important;
        min-width:24px!important;
        max-width:36px!important;
    }
}

/* Very narrow phones: retain equal tracks but shave the gaps/control width
   so nothing is forced outside the card. */
@media (max-width: 390px){
    body.lbcui-cart-active.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
        column-gap:5px!important;
    }
    body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls{
        width:min(90px,100%)!important;
    }
    body.lbcui-cart-active.woocommerce-cart .rey-qtyField.cartBtnQty-controls :is(button,.rey-qtyField-btn){
        flex-basis:27px!important;
        width:27px!important;
        min-width:27px!important;
    }
}


/* v0.9.11 — root-cause mobile cart correction.
   Typography is corrected in the existing native cart rules above; no late
   font-weight override layer is used. The notice offset is layout-only. */
@media (max-width: 767px){
    body.lbcui-cart-active.woocommerce-cart .woocommerce.rey-cartPage > .woocommerce-notices-wrapper,
    body.lbcui-cart-active.woocommerce-cart .elementor-widget-reycore-wc-cart .woocommerce-notices-wrapper{
        margin-top:30px!important;
        margin-bottom:10px!important;
    }
}

/* v0.9.12 — exact four-element cart typography contract; no header/global selectors. */
body.lbcui-cart-active.woocommerce-cart td.product-name a:not(.remove):not(.lbcui-remove):not(.lbcui-native-remove){font-weight:400!important;}
body.lbcui-cart-active.woocommerce-cart .cart_totals h2::after{font-weight:400!important;}
body.lbcui-cart-active.woocommerce-cart .cart_totals table tr:not(.cart-subtotal):not(.order-total) :is(th,td,p,small,em,strong,b,span){font-weight:400!important;font-style:normal!important;}
body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total :is(th,td,strong,b,span){font-weight:400!important;}

/* v0.9.14 — Mobile cart totals cleanup.
   WooCommerce responsive CSS adds td::before labels from data-title inside
   cart_totals. The table already contains real <th> labels, so those generated
   labels duplicate SUBTOTAL / TOTAL. Keep one real label and align all values
   to a single clean left edge. */
@media (max-width: 767px){
    body.lbcui-cart-active.woocommerce-cart .cart_totals td[data-title]::before,
    body.lbcui-cart-active.woocommerce-cart .cart_totals td::before{
        content:none!important;
        display:none!important;
        float:none!important;
        width:0!important;
        height:0!important;
        margin:0!important;
        padding:0!important;
    }

    body.lbcui-cart-active.woocommerce-cart .cart_totals table{
        table-layout:fixed!important;
        width:100%!important;
    }

    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.cart-subtotal > th,
    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total > th{
        width:34%!important;
        text-align:left!important;
        padding-right:12px!important;
        vertical-align:middle!important;
    }

    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.cart-subtotal > td,
    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total > td{
        width:66%!important;
        text-align:left!important;
        padding-left:0!important;
        vertical-align:middle!important;
    }

    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.cart-subtotal > td .amount,
    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total > td .amount,
    body.lbcui-cart-active.woocommerce-cart .cart_totals tr.order-total > td strong{
        display:inline!important;
        text-align:left!important;
        margin:0!important;
    }
}
