/* One native Mini-Cart button owns interaction; the authored face owns presentation. */
.bb-header__cart { position: relative; padding-block: 0; border-radius: var(--wp--preset--border-radius--control); transition: background-color 180ms ease; }
.bb-header__cart-face { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--space-2); pointer-events: none; }
.bb-header__cart .bb-header__mini-cart { position: absolute; inset: 0; margin: 0; }
.bb-header__mini-cart .wc-block-mini-cart__button { inline-size: 100%; block-size: 100%; min-block-size: var(--wp--custom--control--target-min); padding: 0; opacity: 0; }
.bb-header__cart:focus-within { outline: 2px solid var(--wp--custom--color--focus); outline-offset: 3px; }
.bb-header__cart-fallback { position: absolute; inset: 0; }
.bb-header__cart-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; inline-size: 2.75rem; block-size: 2.75rem; flex-shrink: 0; }
.bb-header__cart-icon .bb-header__icon { inline-size: 1.75rem; block-size: 1.75rem; }
/* The broken upper basket edge leaves space for the count without moving navigation. */
.bb-cart-count { position: absolute; inset-block-start: 0.3125rem; inset-inline-start: 0.875rem; inline-size: 1.25rem; display: inline-flex; justify-content: center; color: var(--wp--preset--color--accent); font-size: 0.6875rem; line-height: 1; font-weight: var(--wp--custom--font-weight--strong); font-variant-numeric: tabular-nums; }
.bb-cart-count[hidden] { display: none; }
.bb-header__cart.is-confirmed { background: var(--wp--custom--color--success-surface); }
/* Woo owns overlay, focus, body scrolling, contents and all cart controls. */
.wc-block-mini-cart__drawer { inline-size: min(26.25rem, 100vw); max-width: min(26.25rem, 100vw); container: bb-mini-cart / inline-size; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background: var(--wp--preset--color--surface); }
.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title { font-size: var(--wp--preset--font-size--heading-small); font-weight: var(--wp--custom--font-weight--strong); line-height: var(--wp--custom--line-height--heading); gap: var(--wp--preset--spacing--space-2); flex-wrap: wrap; margin: 0; padding: var(--wp--preset--spacing--space-6); padding-inline-end: var(--wp--preset--spacing--space-16); mask-image: none; border-block-end: 1px solid var(--wp--preset--color--border); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title span:first-child { margin: 0; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block { font-size: var(--wp--preset--font-size--body); font-weight: var(--wp--custom--font-weight--regular); color: var(--wp--preset--color--text-secondary); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { min-inline-size: var(--wp--custom--control--target-min); min-block-size: var(--wp--custom--control--target-min); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { inline-size: 1.25rem; block-size: 1.25rem; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: 0 var(--wp--preset--spacing--space-6); }
/* Keep the native table/cells, bindings and focusable controls; only their CSS layout changes. */
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--wp--preset--spacing--space-1) var(--wp--preset--spacing--space-3); padding-block: var(--wp--preset--spacing--space-4); border-block-end: 1px solid var(--wp--preset--color--border); }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row:last-child { border-block-end: 0; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row::after { content: none; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__image { grid-column: 1; grid-row: 1; align-self: start; padding: 0; inline-size: auto; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__image img { aspect-ratio: 1; object-fit: contain; border-radius: var(--wp--preset--border-radius--control); }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__product { grid-column: 2; grid-row: 1; padding: 0; min-inline-size: 0; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__wrap { gap: var(--wp--preset--spacing--space-1); min-inline-size: 0; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-components-product-name { font-size: var(--wp--preset--font-size--body); font-weight: var(--wp--custom--font-weight--strong); line-height: var(--wp--custom--line-height--body); color: var(--wp--preset--color--text); text-decoration: none; overflow-wrap: anywhere; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-components-product-name:is(:hover, :focus-visible) { text-decoration: underline; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata { font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--body); color: var(--wp--preset--color--text-secondary); margin: 0; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: none; }
/* The native description wrapper must also leave the metadata's flex gap. */
.wc-block-mini-cart__drawer .wc-block-components-product-metadata > div:has(> .wc-block-components-product-metadata__description) { display: none; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__prices { font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--body); color: var(--wp--preset--color--text-secondary); flex-wrap: wrap; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices::before { content: attr(data-bb-unit-price-label) ':'; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__quantity { margin-block-start: var(--wp--preset--spacing--space-2); gap: var(--wp--preset--spacing--space-2); padding: 0; flex-wrap: wrap; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { width: 8.25rem; min-block-size: var(--wp--custom--control--target-min); flex-shrink: 0; border-color: var(--wp--custom--color--border-control); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { min-width: 0; inline-size: 2.75rem; padding: 0; font-size: var(--wp--preset--font-size--body); appearance: textfield; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: var(--wp--custom--control--target-min); min-block-size: var(--wp--custom--control--target-min); padding: 0; font-size: var(--wp--preset--font-size--body); }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link { inline-size: var(--wp--custom--control--target-min); block-size: var(--wp--custom--control--target-min); min-block-size: var(--wp--custom--control--target-min); display: inline-flex; align-items: center; justify-content: center; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link svg { inline-size: 1.25rem; block-size: 1.25rem; }
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__total { grid-column: 2; grid-row: 2; padding: 0; font-size: var(--wp--preset--font-size--body); font-weight: var(--wp--custom--font-weight--strong); text-align: end; overflow-wrap: anywhere; }
/* Subgrid aligns quantity and row total without moving or cloning the native cells. */
@supports (grid-template-columns: subgrid) {
	@container bb-mini-cart (min-width: 25rem) {
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row { grid-template-columns: 4.5rem 11.5rem minmax(0, 1fr); }
		/* Share the image height across the information rows, not the title alone. */
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__image { grid-row: 1 / span 5; }
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__product { grid-column: 2 / 4; grid-row: 1 / span 5; display: grid; grid-template-columns: subgrid; grid-template-rows: subgrid; }
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__wrap { display: grid; grid-column: 1 / -1; grid-row: 1 / -1; grid-template-columns: subgrid; grid-template-rows: subgrid; align-items: start; }
		.wc-block-mini-cart__drawer .wc-block-components-product-name { grid-column: 1 / -1; grid-row: 1; }
		.wc-block-mini-cart__drawer .wc-block-components-product-metadata { grid-column: 1 / -1; grid-row: 2; }
		.wc-block-mini-cart__drawer .wc-block-cart-item__prices { grid-column: 1 / -1; grid-row: 4; }
		.wc-block-mini-cart__drawer .wc-block-components-product-backorder-badge { grid-column: 1 / -1; grid-row: 3; }
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__quantity { grid-column: 1; grid-row: 5; align-self: end; min-inline-size: 11.5rem; }
		.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-item__total { grid-column: 3; grid-row: 5; align-self: center; margin-block-start: var(--wp--preset--spacing--space-2); }
	}
}
/* Do not override Woo's hidden conditions for alternate names, prices or unavailable controls. */
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row[hidden],
.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row [hidden] { display: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-6); background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--border); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal { font-size: var(--wp--preset--font-size--lead); margin-block-end: var(--wp--preset--spacing--space-4); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description { font-size: var(--wp--preset--font-size--small); font-weight: var(--wp--custom--font-weight--regular); line-height: var(--wp--custom--line-height--body); color: var(--wp--preset--color--text-secondary); margin-block-start: var(--wp--preset--spacing--space-2); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions { display: flex; flex-direction: column; gap: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart { inline-size: 100%; flex: 1; min-block-size: var(--wp--custom--control--min-height); padding: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-4); font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); text-align: center; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--accent); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart:hover { background: var(--wp--custom--color--accent-hover); border-color: var(--wp--custom--color--accent-hover); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart:active { background: var(--wp--custom--color--accent-pressed); border-color: var(--wp--custom--color--accent-pressed); }
@container bb-mini-cart (max-width: 24.99rem) {
	.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title { padding: var(--wp--preset--spacing--space-4); padding-inline-end: var(--wp--preset--spacing--space-16); }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding-inline: var(--wp--preset--spacing--space-4); }
	.wc-block-mini-cart__drawer table.wc-block-cart-items.wc-block-mini-cart-items .wc-block-cart-items__row { grid-template-columns: 4rem minmax(0, 1fr); padding-block: var(--wp--preset--spacing--space-4); }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding-inline: var(--wp--preset--spacing--space-4); }
}
.bb-cart-toast { position: fixed; z-index: 100; display: flex; align-items: center; gap: var(--wp--preset--spacing--space-2); inline-size: max-content; max-inline-size: min(24rem, calc(100vw - 24px)); padding: var(--wp--preset--spacing--space-3) var(--wp--preset--spacing--space-4); border: var(--wp--custom--border--width) solid var(--wp--preset--color--border); border-radius: var(--wp--preset--border-radius--card); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); box-shadow: 0 4px 16px color-mix(in srgb, var(--wp--preset--color--text) 10%, transparent); font-size: var(--wp--preset--font-size--body); opacity: 0; visibility: hidden; transform: translateY(-0.25rem); transition: opacity 160ms ease, transform 160ms ease, visibility 160ms; pointer-events: none; }
.bb-cart-toast::before { content: ''; position: absolute; left: var(--bb-toast-arrow-x, 50%); top: -0.3125rem; inline-size: 0.5rem; block-size: 0.5rem; background: var(--wp--preset--color--surface); border-block-start: 1px solid var(--wp--preset--color--border); border-inline-start: 1px solid var(--wp--preset--color--border); transform: translateX(-50%) rotate(45deg); }
.bb-cart-toast svg { inline-size: 1.5rem; block-size: 1.5rem; flex-shrink: 0; color: var(--wp--custom--color--success); }
.bb-cart-toast.is-visible { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .bb-cart-toast, .bb-header__cart { transition: none; transform: none; } }
