.woocommerce-cart .gbb-cart-page-title { margin:0 0 clamp(18px,2.5vw,30px); color:var(--gbb-ink,#282725); font-size:clamp(28px,3vw,40px); font-weight:760; letter-spacing:-.035em; line-height:1.12; }
.woocommerce-cart.gbb-cart-enhanced .woocommerce-cart-form .coupon { display:none !important; }
.woocommerce-cart .gbb-cart-promo { margin-top:14px; padding:0 2px; border:0; }
.woocommerce-cart .gbb-cart-promo summary { width:max-content; max-width:100%; cursor:pointer; color:var(--gbb-ink,#282725); font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.woocommerce-cart .gbb-cart-promo summary:focus-visible { outline:2px solid var(--gbb-red,#e30613); outline-offset:4px; border-radius:4px; }
.woocommerce-cart .gbb-cart-promo__form { display:flex; gap:8px; margin-top:12px; }
.woocommerce-cart .gbb-cart-promo__form input { min-width:0; flex:1; min-height:44px; padding:8px 13px; border:1px solid #d4cfc8; border-radius:12px; background:#fff; color:#282725; font-size:15px; }
.woocommerce-cart .gbb-cart-promo__form button { min-height:44px; padding:8px 18px; border:0; border-radius:12px; background:#282725; color:#fff; font-size:13px; font-weight:700; }
.woocommerce-cart .gbb-cart-promo__form button:hover { background:#e30613; }
/* Woo updates only the cart form and totals via Ajax. Keep the rest of the page
 * usable and make those two pending regions visibly, but quietly, busy. */
.woocommerce-cart :is(.woocommerce-cart-form,.cart_totals) > .blockUI.blockOverlay {
	background:rgba(244,243,239,.78) !important;
	opacity:1 !important;
	border-radius:18px;
}
.woocommerce-cart :is(.woocommerce-cart-form,.cart_totals) > .blockUI.blockOverlay::after {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:26px;
	height:26px;
	margin:-13px 0 0 -13px;
	border:2px solid #d9d6d0;
	border-top-color:#e30613;
	border-radius:50%;
	animation:gbb-cart-pending-spin .75s linear infinite;
}
@keyframes gbb-cart-pending-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
	.woocommerce-cart :is(.woocommerce-cart-form,.cart_totals) > .blockUI.blockOverlay::after { animation:none; }
}
.gbb-cart-quickbar { display:none; }
@media (max-width:767px) {
	.woocommerce-cart .gbb-cart-fulfilment-summary { display:none !important; }
	.woocommerce-cart .woocommerce-message:has(a[href*="/cart/"]) { display:none !important; }
	.woocommerce-cart .cart_totals { margin-top:8px !important; }
	.woocommerce-cart.gbb-cart-enhanced { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
	.woocommerce-cart .gbb-cart-quickbar:not([hidden]) {
		position:fixed; z-index:999; right:0; bottom:0; left:0;
		display:grid; grid-template-columns:minmax(0,1fr) minmax(155px,.9fr); align-items:center; gap:12px;
		min-height:76px; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
		border-top:1px solid #e9e3dc; background:#fff; box-shadow:0 -8px 30px rgba(0,0,0,.08);
	}
	.gbb-cart-quickbar__amount { min-width:0; display:grid; gap:2px; }
	.gbb-cart-quickbar__amount small { color:#706c66; font-size:11px; font-weight:700; }
	.gbb-cart-quickbar__amount strong { overflow:hidden; color:#282725; font-size:19px; font-weight:800; white-space:nowrap; text-overflow:ellipsis; }
	.gbb-cart-quickbar__button { display:grid; min-height:50px; place-items:center; padding:8px 12px; border-radius:999px; background:#e30613; color:#fff !important; font-size:13px; font-weight:800; text-align:center; text-decoration:none !important; }
	.gbb-cart-quickbar__button:focus-visible { outline:2px solid #282725; outline-offset:3px; }
	.woocommerce-cart .gbb-cart-promo__form { flex-direction:column; }
}
