/* All overrides are scoped to CCBE groups; native theme and footer scrolling remain intact. */
.ccbe-group-price { display: grid; gap: .2em; }
.ccbe-group-price small { color: #646970; }
.ccbe-benefits { margin-block: .65rem; font-size: .9em; text-align: start; max-width: 100%; min-width: 0; }
.ccbe-benefits summary { cursor: pointer; color: inherit; font-weight: 600; line-height: 1.6; overflow-wrap: break-word; white-space: normal; }
.ccbe-benefits ul { list-style: none; margin: .5rem 0 0; padding: 0; }
.ccbe-benefits .ccbe-benefit-detail { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .25rem .6rem; padding: .65rem .4rem; margin: 0; border-block-start: 1px solid #e4e7e9; min-width: 0; line-height: 1.5; text-align: start; }
.ccbe-benefit-heading { font-weight: 600; min-width: 0; }
.ccbe-benefit-total { align-self: start; white-space: nowrap; }
.ccbe-benefit-description, .ccbe-benefit-unit { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; word-break: normal; white-space: normal; }
.ccbe-benefit-description { font-size: .95em; }
.ccbe-benefit-unit { font-size: .9em; color: #50575e; }
.ccbe-benefit-origin { display: inline-block; margin-inline-end: .35rem; font-weight: 600; }
.ccbe-benefit-detail bdi { unicode-bidi: isolate; }
.ccbe-mobile-total { display: none; }
.ccbe-grouped-row .mobile-product-price { display: none !important; }
.woocommerce-cart-form .ccbe-grouped-row > td { padding-block: 1rem; vertical-align: top; }
.woocommerce-cart-form .ccbe-benefits { padding-inline-start: .5rem; }
.ccbe-group-controls { display: inline-grid; grid-template-columns: 30px 48px 30px; grid-template-rows: 34px 1.2em; gap: .1rem; align-items: center; vertical-align: top; max-width: 100%; direction: inherit; }
.ccbe-group-controls label { margin: 0; min-width: 0; }
.ccbe-group-controls .ccbe-group-quantity { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; min-height: 0; padding: 0 .1rem; margin: 0; text-align: center; font-size: 14px; appearance: textfield; -moz-appearance: textfield; }
.ccbe-group-controls .ccbe-group-quantity::-webkit-inner-spin-button, .ccbe-group-controls .ccbe-group-quantity::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ccbe-group-controls .ccbe-group-step { display: inline-flex; justify-content: center; align-items: center; box-sizing: border-box; width: 30px; min-width: 0; height: 34px; min-height: 0; margin: 0; padding: 0; font-size: 18px; font-weight: 400; line-height: 1; background: #f6f7f7; color: #1d2327; border: 1px solid #c3c4c7; border-radius: 2px; box-shadow: none; letter-spacing: normal; touch-action: manipulation; }
.ccbe-group-controls .ccbe-group-step:hover { background: #e9ecef; }
.ccbe-group-controls :focus-visible, .ccbe-group-remove:focus-visible, .ccbe-group-retry:focus-visible { outline: 2px solid #2271b1; outline-offset: 2px; }
.ccbe-group-status { grid-column: 1 / -1; font-size: 10px; line-height: 1.2; white-space: nowrap; color: #50575e; text-align: center; }
.ccbe-group-controls[aria-busy="true"] input { border-color: #2271b1; }
.ccbe-group-remove { background: none; color: inherit; border: 0; font-size: 1.3em; padding: .25em; min-width: 28px; min-height: 32px; margin: 0; }
.ccbe-group-notice { padding: .7em; margin-block: .5em; background: #f0f6fc; color: #1d2327; text-align: start; }
.ccbe-group-notice .ccbe-group-retry { display: inline-block; font: inherit; padding: .2em .6em; margin: 0 .4em; min-height: 30px; background: #fff; color: #1d2327; border: 1px solid #8c8f94; }
/* Verified Flatsome markup: image/name anchor, native qty/subtotal flex wrapper, footer. */
.widget_shopping_cart ul.product_list_widget li.ccbe-grouped-row { display: block; padding: .85rem 0; min-height: 0; overflow: visible; }
.widget_shopping_cart ul.product_list_widget li.ccbe-grouped-row > a:not(.remove) { display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: start; gap: .65rem; margin: 0; margin-inline-end: 30px; padding: 0; text-align: start; overflow: visible; text-overflow: clip; }
.widget_shopping_cart li.ccbe-grouped-row > a:not(.remove) img { position: static; grid-column: 1; grid-row: 1; width: 56px; height: 56px; object-fit: contain; margin: 0; }
.ccbe-mini-name { grid-column: 2; min-width: 0; overflow-wrap: anywhere; word-break: normal; line-height: 1.5; }
.widget_shopping_cart .ccbe-grouped-row .ux-mini-cart-qty { display: grid; grid-template-columns: minmax(0,1fr); gap: .4rem; margin: .5rem 0 0; align-items: start; }
.widget_shopping_cart .ccbe-grouped-row .ux-mini-cart-qty > .product-subtotal { grid-row: 1; display: block; min-width: 0; font-size: 1em; opacity: 1; }
.widget_shopping_cart .ccbe-grouped-row .ccbe-group-controls { grid-row: 2; justify-self: start; margin: 0; }
.widget_shopping_cart .ccbe-grouped-row > .ccbe-group-remove { position: absolute; inset-inline-end: 0; inset-inline-start: auto; top: .65rem; }
.ccbe-mini-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .3rem .6rem; }
.ccbe-mini-count { font-size: .9em; }
.ccbe-group-total { display: inline-flex; flex-wrap: wrap; gap: .3em; align-items: baseline; }
.widget_shopping_cart .ccbe-grouped-row > .ccbe-benefits { clear: both; width: 100%; margin: .45rem 0 0; font-size: .9em; }
.widget_shopping_cart ul.product_list_widget .ccbe-benefits .ccbe-benefit-detail { padding: .55rem .25rem; min-height: 0; overflow: visible; }
@media (max-width: 849px) {
  .ccbe-mobile-total { display: block; margin-block: .3em; }
  .woocommerce-cart-form .ccbe-benefits { padding-inline-start: 0; }
  .ccbe-benefits { font-size: .88em; }
  .ccbe-benefits .ccbe-benefit-detail { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  .ccbe-benefit-total { grid-row: 4; justify-self: end; }
}
