/* 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 .gsmk-cart-shipping-card > h2,
		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;
		}

		/* Shipping is a decision of its own, not a line item in Order summary. */
		body.woocommerce-cart .gsmk-cart-shipping-card {
			box-sizing: border-box;
			width: 100%;
			margin: 0 0 18px;
			overflow: hidden;
			background: var(--gsmk-cart-surface);
			border: 1px solid var(--gsmk-cart-border);
			border-radius: 14px;
			box-shadow: 0 8px 24px rgba(22, 32, 50, 0.08);
		}

		body.woocommerce-cart .gsmk-cart-shipping-card > h2 {
			margin: -1px -1px 0 !important;
			width: calc(100% + 2px) !important;
		}

		body.woocommerce-cart .gsmk-cart-shipping-options-table {
			display: table !important;
			width: 100% !important;
			margin: 0 !important;
			border: 0 !important;
			border-collapse: collapse;
			background: transparent !important;
		}

		body.woocommerce-cart .gsmk-cart-shipping-options-table tbody,
		body.woocommerce-cart .gsmk-cart-shipping-options-table tr {
			display: block !important;
			width: 100% !important;
		}

		body.woocommerce-cart .gsmk-cart-shipping-options-table th {
			position: absolute !important;
			width: 1px !important;
			height: 1px !important;
			padding: 0 !important;
			margin: -1px !important;
			overflow: hidden !important;
			clip: rect(0 0 0 0) !important;
			white-space: nowrap !important;
			border: 0 !important;
		}

		body.woocommerce-cart .gsmk-cart-shipping-options-table td {
			display: block !important;
			box-sizing: border-box;
			width: 100% !important;
			padding: 16px 18px 18px !important;
			border: 0 !important;
			text-align: left !important;
		}

		body.woocommerce-cart .gsmk-cart-shipping-options-table ul#shipping_method {
			margin: 0 !important;
		}

		/* Basket extras share one compact row and remain visually secondary. */
		body.woocommerce-cart .woocommerce-cart-form td.actions {
			box-sizing: border-box;
			display: grid !important;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			align-items: stretch !important;
			gap: 16px;
			width: 100%;
		}

		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;
			height: 100%;
			margin: 0 !important;
			padding: 0 14px 14px !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 {
			content: "Discount code" !important;
			box-sizing: border-box;
			display: block !important;
			grid-column: 1 / -1;
			width: calc(100% + 28px) !important;
			margin: 0 -14px 2px !important;
			padding: 10px 14px !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: 14px !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,
		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply__controls .button {
			min-height: 44px;
			margin: 0 !important;
			padding-inline: 15px !important;
			background: #fff !important;
			color: var(--gsmk-cart-brand) !important;
			border: 1px solid var(--gsmk-brand-border-strong) !important;
			font-weight: 700 !important;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button:hover,
		body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button:focus-visible,
		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply__controls .button:hover,
		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply__controls .button:focus-visible {
			background: var(--gsmk-cart-brand-soft-hover) !important;
			color: var(--gsmk-brand-dark) !important;
			border-color: var(--gsmk-cart-brand) !important;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply {
			box-sizing: border-box;
			display: grid;
			grid-template-rows: auto auto 1fr;
			gap: 9px;
			width: 100%;
			height: 100%;
			margin: 0 !important;
			padding: 0 14px 14px !important;
			overflow: hidden;
			background: var(--gsmk-cart-surface) !important;
			border: 1px solid var(--gsmk-cart-brand-border) !important;
			border-radius: 12px !important;
			box-shadow: none !important;
			text-align: left;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply > h4 {
			box-sizing: border-box;
			width: calc(100% + 28px);
			margin: 0 -14px !important;
			padding: 10px 14px !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: 14px !important;
			font-weight: 700 !important;
			line-height: 1.3 !important;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply > p {
			margin: 0 !important;
			color: #596272 !important;
			font-size: 12px;
			line-height: 1.4;
		}

		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-apply__controls {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			align-self: end;
			gap: 10px;
		}

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

		body.woocommerce-cart .woocommerce-cart-form td.actions .fpgc-applied-list {
			grid-column: 1 / -1;
			width: 100%;
			margin-bottom: 0;
			text-align: left;
		}

		/* One price block per item: the line total beside quantity is the useful one. */
		body.woocommerce-cart table.shop_table.cart th.product-price,
		body.woocommerce-cart table.shop_table.cart td.product-price {
			display: none !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 .gsmk-cart-shipping-card .woocommerce-shipping-destination,
		body.woocommerce-cart .gsmk-cart-shipping-card .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 .gsmk-cart-shipping-card .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 (min-width: 761px) {
			html body.woocommerce-cart.woocommerce-page .shoptimizer-cart-wrapper form.woocommerce-cart-form table.shop_table.cart td.actions {
				display: grid !important;
				grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
				align-items: stretch !important;
			}
		}

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

			body.woocommerce-cart .cart-collaterals > .cross-sells,
			body.woocommerce-cart .cart-collaterals > .cart-summary {
				box-sizing: border-box;
				float: none !important;
				clear: both;
				width: 100% !important;
				margin: 18px 0 0 !important;
			}

			body.woocommerce-cart .cart-collaterals > .cart-summary > .widget:first-child {
				margin-top: 0 !important;
			}
		}

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

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

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