/* gsmk_branded_basket_layout */
		body.woocommerce-cart {
			--gsmk-cart-brand: var(--gsmk-brand);
			--gsmk-cart-brand-soft: var(--gsmk-brand-soft);
			--gsmk-cart-brand-border: var(--gsmk-brand-border);
			--gsmk-cart-surface: #fff;
			--gsmk-cart-border: #dde3ec;
			--gsmk-cart-text: #1d2430;
		}

		/* The progress rail and basket card already identify this page. */
		body.woocommerce-cart .entry-header {
			display: none !important;
		}

		html body.woocommerce-cart.woocommerce-page ul.checkout-bar li:nth-child(2) > span a {
			font-size: 14px !important;
		}

		html body.woocommerce-cart.woocommerce-page ul.checkout-bar li:nth-child(2) > span a::after {
			content: none !important;
		}

		/* Primary task-region headers. */
		body.woocommerce-cart .woocommerce-cart-form table.cart > tbody::before,
		body.woocommerce-cart .cart_totals > .gsmk-cart-summary-title {
			box-sizing: border-box !important;
			display: block !important;
			width: 100% !important;
			margin: 0 !important;
			padding: 14px 18px !important;
			background: var(--gsmk-cart-brand) !important;
			color: #fff !important;
			border: 0 !important;
			border-radius: 13px 13px 0 0 !important;
			font-size: 16px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
			text-transform: none !important;
		}

		body.woocommerce-cart .cart_totals > h2:not(.gsmk-cart-summary-title) {
			display: none !important;
		}

		body.woocommerce-cart .cart_totals {
			overflow: hidden;
			border-radius: 14px;
		}

		/* Discount code: a compact secondary card within the basket form. */
		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
			box-sizing: border-box;
			display: grid !important;
			grid-template-columns: minmax(0, 1fr) auto;
			align-items: center;
			gap: 10px;
			width: 100% !important;
			margin: 0 !important;
			padding: 0 16px 16px !important;
			overflow: hidden;
			background: var(--gsmk-cart-surface);
			border: 1px solid var(--gsmk-cart-brand-border) !important;
			border-radius: 12px;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon::before {
			box-sizing: border-box;
			display: block !important;
			grid-column: 1 / -1;
			width: calc(100% + 32px) !important;
			margin: 0 -16px 4px !important;
			padding: 12px 16px !important;
			background: var(--gsmk-cart-brand-soft) !important;
			color: var(--gsmk-cart-brand) !important;
			border-bottom: 1px solid var(--gsmk-cart-brand-border);
			font-size: 15px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
			text-align: left !important;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text {
			box-sizing: border-box;
			width: 100% !important;
			min-height: 44px;
			margin: 0 !important;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button {
			min-height: 44px;
			margin: 0 !important;
		}

		/* Secondary content uses a lighter brand tint to preserve hierarchy. */
		body.woocommerce-cart .adv-gift-section,
		body.woocommerce-cart .cart-summary > .widget {
			overflow: hidden;
			background: var(--gsmk-cart-surface);
			border-color: var(--gsmk-cart-border) !important;
		}

		body.woocommerce-cart .adv-gift-section {
			padding: 0 20px 20px !important;
		}

		body.woocommerce-cart .adv-gift-section > .wgb-header-cnt {
			box-sizing: border-box;
			display: block !important;
			width: calc(100% + 40px) !important;
			margin: 0 -20px 16px !important;
			padding: 12px 18px !important;
			background: var(--gsmk-cart-brand-soft) !important;
			border-bottom: 1px solid var(--gsmk-cart-brand-border);
		}

		body.woocommerce-cart .adv-gift-section > .wgb-header-cnt .wgb-title {
			margin: 0 !important;
			color: var(--gsmk-cart-brand) !important;
			font-size: 15px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
			text-transform: none !important;
		}

		body.woocommerce-cart .cart-summary > .widget {
			padding: 0 20px 20px !important;
		}

		body.woocommerce-cart .cart-summary > .widget > .widget-title {
			box-sizing: border-box;
			display: block !important;
			width: calc(100% + 40px) !important;
			margin: 0 -20px 16px !important;
			padding: 12px 18px !important;
			background: var(--gsmk-cart-brand-soft) !important;
			color: var(--gsmk-cart-brand) !important;
			border-bottom: 1px solid var(--gsmk-cart-brand-border);
			font-size: 15px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
		}

		body.woocommerce-cart .cross-sells > h2,
		body.woocommerce-cart .up-sells > h2,
		body.woocommerce-cart .related.products > h2 {
			box-sizing: border-box;
			padding: 12px 18px !important;
			background: var(--gsmk-cart-brand-soft) !important;
			color: var(--gsmk-cart-brand) !important;
			border: 1px solid var(--gsmk-cart-brand-border);
			border-radius: 12px;
			font-size: 16px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
		}

		body.woocommerce-cart .elementor-widget-heading .elementor-heading-title {
			box-sizing: border-box;
			width: min(1341px, calc(100% - 30px));
			margin-inline: auto !important;
			padding: 12px 18px !important;
			background: var(--gsmk-cart-brand-soft) !important;
			color: var(--gsmk-cart-brand) !important;
			border: 1px solid var(--gsmk-cart-brand-border);
			border-radius: 12px;
			font-size: 16px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
			text-align: left;
		}

		/* Keep a known or entered delivery location visually attached to shipping. */
		body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
		body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
			box-sizing: border-box;
			width: 100%;
			margin: 12px 0 0 !important;
			padding: 12px 14px !important;
			background: var(--gsmk-cart-brand-soft);
			border: 1px solid var(--gsmk-cart-brand-border);
			border-radius: 10px;
			color: var(--gsmk-cart-text);
		}

		body.woocommerce-cart .cart_totals .woocommerce-shipping-destination::before {
			content: "Delivery location";
			display: block;
			margin-bottom: 5px;
			color: var(--gsmk-cart-brand);
			font-size: 13px;
			font-weight: 700;
			line-height: 1.3;
		}

		/* The finance message supports the CTA, so keep it directly below it. */
		body.woocommerce-cart .wc-proceed-to-checkout > .ppcp-messages {
			box-sizing: border-box;
			width: auto !important;
			margin: 10px 20px 16px !important;
			padding: 12px 14px !important;
			background: var(--gsmk-cart-brand-soft);
			border: 1px solid var(--gsmk-cart-brand-border);
			border-radius: 10px;
		}

		body.woocommerce-cart .woocommerce-cart-form a:focus-visible,
		body.woocommerce-cart .woocommerce-cart-form button:focus-visible,
		body.woocommerce-cart .cart-collaterals a:focus-visible,
		body.woocommerce-cart .cart-collaterals button:focus-visible,
		body.woocommerce-cart .cart-collaterals input:focus-visible {
			outline: 3px solid var(--gsmk-cart-brand-border) !important;
			outline-offset: 2px;
		}

		/* Align the summary beside the progress rail on wide screens. */
		@media (min-width: 1240px) {
			body.woocommerce-cart .checkout-wrap {
				width: calc(100% - 392px) !important;
				max-width: calc(100% - 392px) !important;
				align-self: flex-start;
			}

			html body.woocommerce-cart.woocommerce-page .shoptimizer-cart-wrapper .cart-collaterals {
				margin-top: calc(0px - var(--gsmk-cart-summary-lift, 0px)) !important;
			}
		}

		@media (max-width: 1239px) {
			body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
				grid-template-columns: minmax(0, 1fr) auto;
			}
		}

		@media (max-width: 560px) {
			body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
				grid-template-columns: minmax(0, 1fr);
			}

			body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button {
				width: 100% !important;
			}

			body.woocommerce-cart .adv-gift-section,
			body.woocommerce-cart .cart-summary > .widget {
				border-radius: 12px !important;
			}
		}
