/* Rebound Fitness – Basket */
.rf-basket {
	--rf-navy: #212D6E;
	--rf-navy-soft: #3A4280;
	--rf-muted: #6B6F8F;
	--rf-coral: #FB7661;
	--rf-green: #1F8A55;
	--rf-green-text: #1F6E46;
	--rf-green-bg: #E8F5EE;
	--rf-line: #ECEAE5;
	--rf-card: #FFFFFF;
	--rf-tint: #F3F2EE;
	--rf-radius: 16px;
	color: var(--rf-navy);
	max-width: 1240px;
	margin: 0 auto;
	padding-block: 24px 64px;
	font-size: 15px;
	line-height: 1.5;
}
.rf-basket *, .rf-basket *::before, .rf-basket *::after { box-sizing: border-box; }
.rf-visually-hidden, .rf-basket .screen-reader-text {
	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;
}
.rf-icon { flex: none; }

/* Steps and title */
.rf-basket .rf-steps { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; color: var(--rf-muted); }
.rf-basket .rf-steps__item { display: flex; align-items: center; gap: 8px; margin: 0; }
.rf-basket .rf-steps__item.is-current { color: var(--rf-navy); }
.rf-basket .rf-steps__num { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid #C5C3BD; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.rf-basket .rf-steps__item.is-current .rf-steps__num { background: var(--rf-navy); border-color: var(--rf-navy); color: #FFFFFF; }
.rf-basket .rf-steps__sep { width: 24px; height: 1px; background: #C5C3BD; }
.rf-basket .rf-basket__title { margin: 0 0 24px; font-size: 34px; line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; color: var(--rf-navy); }

/* Two columns */
.rf-basket .rf-basket__layout { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.rf-basket .rf-basket__main { flex: 999 1 560px; min-width: 0; }
.rf-basket .rf-basket__side { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.rf-basket .woocommerce-cart-form { display: flex; flex-direction: column; gap: 20px; margin: 0; }

/* Free shipping bar sits at the top of the basket */
.rf-basket .rf-fs { margin: 0; border-radius: 14px; padding: 16px 20px; }

/* Items: a table underneath (so plugins' rows stay valid), cards on screen */
.rf-basket table.rf-items, .rf-basket table.rf-items tbody { display: block; width: 100%; margin: 0; border: 0; background: transparent; }
.rf-basket table.rf-items tbody { display: flex; flex-direction: column; gap: 12px; }
.rf-basket table.rf-items td, .rf-basket table.rf-items th { border: 0 !important; background: transparent !important; padding: 0 !important; text-align: left; }
.rf-basket table.rf-items td::before { content: none !important; display: none !important; }
.rf-basket tr.rf-item {
	display: grid !important; grid-template-columns: 112px auto minmax(0, 1fr) auto;
	grid-template-areas: "thumb name name subtotal" "thumb qty remove subtotal";
	column-gap: 20px; row-gap: 12px; align-items: center;
	background: var(--rf-card); border-radius: var(--rf-radius); padding: 20px; border: 0;
}
.rf-basket tr.rf-item .product-thumbnail { grid-area: thumb; align-self: start; width: auto !important; }
.rf-basket tr.rf-item .product-thumbnail img { width: 112px !important; height: 112px !important; max-width: none; object-fit: contain; border-radius: 12px; background: var(--rf-tint); display: block; }
.rf-basket tr.rf-item .product-name { grid-area: name; font-size: 17px; font-weight: 600; line-height: 1.35; }
.rf-basket tr.rf-item .product-name > a { color: var(--rf-navy); text-decoration: none; }
.rf-basket tr.rf-item .product-name > a:hover { text-decoration: underline; }
.rf-basket tr.rf-item .product-name dl.variation, .rf-basket tr.rf-item .product-name .wc-item-meta { margin: 4px 0 0; font-size: 13px; font-weight: 400; color: var(--rf-muted); }
.rf-basket tr.rf-item .product-name dl.variation dt, .rf-basket tr.rf-item .product-name dl.variation dd { display: inline; margin: 0; float: none; }
.rf-basket tr.rf-item .product-name dl.variation dd p { display: inline; margin: 0; }
.rf-basket .rf-item__perks { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; font-weight: 400; color: var(--rf-navy-soft); }
.rf-basket .rf-item__perk { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.rf-basket .rf-item__perk--stock { color: var(--rf-green-text); }
.rf-basket tr.rf-item .product-quantity { grid-area: qty; }
.rf-basket tr.rf-item .product-quantity .quantity { margin: 0; }
.rf-basket tr.rf-item .product-remove { grid-area: remove; width: auto !important; }
.rf-basket tr.rf-item .product-remove a.rf-remove {
	position: static !important; display: inline-block; width: auto !important; height: auto !important; line-height: 1.4 !important;
	background: transparent !important; border: 0 !important; border-radius: 0 !important; text-indent: 0 !important;
	padding: 10px 4px !important; font-size: 13px !important; font-weight: 400 !important; color: var(--rf-muted) !important; text-decoration: underline !important;
}
.rf-basket tr.rf-item .product-remove a.rf-remove:hover { color: var(--rf-navy) !important; }
.rf-basket tr.rf-item .product-remove a.rf-remove::before, .rf-basket tr.rf-item .product-remove a.rf-remove::after { content: none !important; }
.rf-basket tr.rf-item .product-subtotal { grid-area: subtotal; justify-self: end; text-align: right; font-size: 20px; font-weight: 700; white-space: nowrap; }
.rf-basket tr.rf-item .product-subtotal small { display: block; font-size: 12px; font-weight: 400; color: var(--rf-muted); }
.rf-basket tr.rf-item .product-subtotal del.rf-item__was { display: block; font-size: 14px; font-weight: 400; color: #8A8DA8; text-decoration: line-through; }
.rf-basket tr.rf-item .product-subtotal del.rf-item__was .amount { color: #8A8DA8; font-weight: 400; }
.rf-basket tr.rf-item .product-subtotal .rf-item__save { display: inline-block; margin-top: 6px; padding: 3px 8px; border-radius: 6px; background: var(--rf-green-bg); color: var(--rf-green-text); font-size: 12px; font-weight: 600; }
.rf-basket tr.rf-item .product-subtotal .rf-item__save .amount { color: var(--rf-green-text); font-weight: 600; font-size: 12px; }

/* Items inside a bundle */
.rf-basket tr.rf-item--child { margin-top: -10px; margin-left: 32px; padding: 12px 16px; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "thumb name subtotal" "thumb qty subtotal"; background: #FBFAF8; }
.rf-basket tr.rf-item--child .product-thumbnail img { width: 56px !important; height: 56px !important; }
.rf-basket tr.rf-item--child .product-name { font-size: 14px; font-weight: 500; }
.rf-basket tr.rf-item--child .product-subtotal { font-size: 14px; font-weight: 500; }
.rf-basket tr.rf-item--child .product-remove:empty { display: none; }

/* Hidden actions row (keeps the update button and nonce for WooCommerce) */
.rf-basket tr.rf-actions { display: block; height: 0; overflow: hidden; }

/* Add-ons */
.rf-basket .rf-addons { background: var(--rf-card); border-radius: var(--rf-radius); padding: 20px; }
.rf-basket .rf-addons__title { margin: 0 0 14px; font-size: 17px; font-weight: 600; color: var(--rf-navy); }
.rf-basket .rf-addons__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rf-basket .rf-addon { border: 1px solid var(--rf-line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; margin: 0; }
.rf-basket .rf-addon__img img { width: 100%; height: 96px; object-fit: contain; border-radius: 8px; background: var(--rf-tint); display: block; margin: 0; }
.rf-basket .rf-addon__name { font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--rf-navy); text-decoration: none; }
.rf-basket .rf-addon__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rf-basket .rf-addon__price { font-weight: 600; font-size: 14px; }
.rf-basket .rf-addon__price del { opacity: .6; font-weight: 400; }
.rf-basket .rf-addon__add {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 99px;
	border: 1.5px solid var(--rf-navy); background: #FFFFFF; color: var(--rf-navy) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; line-height: 1;
}
.rf-basket .rf-addon__add:hover { background: var(--rf-navy); color: #FFFFFF !important; }
.rf-basket .rf-addon__add.loading { opacity: .6; }
.rf-basket .rf-addon__add.added::after { content: " ✓"; }
.rf-basket .rf-addon a.added_to_cart { display: none !important; }
.rf-basket .rf-continue { align-self: flex-start; font-size: 14px; font-weight: 500; color: var(--rf-navy); }

/* Order summary */
.rf-basket .cart-collaterals { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.rf-basket .cart-collaterals::before, .rf-basket .cart-collaterals::after { content: none !important; }
.rf-basket .cart_totals.rf-summary { width: 100% !important; float: none !important; margin: 0 !important; background: var(--rf-card); border: 0 !important; border-radius: var(--rf-radius); padding: 26px !important; display: flex; flex-direction: column; gap: 16px; box-shadow: none !important; }
.rf-basket .rf-summary__title { margin: 0 !important; padding: 0 !important; font-size: 20px !important; font-weight: 700 !important; color: var(--rf-navy) !important; text-transform: none !important; letter-spacing: 0 !important; border: 0 !important; }
.rf-basket table.rf-summary__table { width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse; background: transparent !important; }
.rf-basket table.rf-summary__table tr { border: 0 !important; background: transparent !important; }
.rf-basket table.rf-summary__table th, .rf-basket table.rf-summary__table td {
	border: 0 !important; background: transparent !important; padding: 6px 0 !important; vertical-align: top;
	font-size: 15px !important; font-weight: 400 !important; color: var(--rf-navy) !important; text-transform: none !important; width: auto !important;
}
.rf-basket table.rf-summary__table th { text-align: left !important; }
.rf-basket table.rf-summary__table td { text-align: right !important; }
.rf-basket table.rf-summary__table td::before { content: none !important; display: none !important; }
.rf-basket .rf-summary .cart-subtotal .tax_label { display: none; }
.rf-basket .rf-summary__discount, .rf-basket .rf-summary__discount .amount { color: var(--rf-green-text) !important; font-weight: 600 !important; }

/* Delivery row */
.rf-basket .rf-summary .woocommerce-shipping-totals ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: right; }
.rf-basket .rf-summary .woocommerce-shipping-totals ul#shipping_method li { margin: 0 0 4px; padding: 0; text-indent: 0; }
.rf-basket .rf-summary .woocommerce-shipping-totals ul#shipping_method li label { display: inline; font-weight: 400; }
.rf-basket .rf-summary .woocommerce-shipping-totals del.rf-fs-was { color: #8A8DA8; font-size: 14px; }
.rf-basket .rf-summary .woocommerce-shipping-destination { margin: 4px 0 0; font-size: 12px; color: var(--rf-muted); }
.rf-basket .rf-summary .woocommerce-shipping-calculator { margin: 2px 0 0; font-size: 12px; }
.rf-basket .rf-summary .shipping-calculator-button { font-size: 12px; color: var(--rf-navy-soft) !important; text-decoration: underline; }
.rf-basket .rf-summary .shipping-calculator-button::after { content: none !important; }
.rf-basket .rf-summary .shipping-calculator-form { text-align: left; margin-top: 10px; }

/* Applied codes */
.rf-basket .rf-coupon-tag { display: flex; align-items: center; gap: 10px; background: var(--rf-green-bg); color: var(--rf-green-text); border-radius: 10px; padding: 6px 8px 6px 12px; font-size: 14px; }
.rf-basket .rf-coupon-tag__text { flex: 1; min-width: 0; color: var(--rf-navy); }
.rf-basket .rf-coupon-tag__text strong { letter-spacing: .04em; font-weight: 600; }
.rf-basket .rf-coupon-tag__remove { padding: 10px 6px; font-size: 13px; color: var(--rf-green-text) !important; text-decoration: underline; }

/* Discount code field */
.rf-basket .rf-coupon { border-top: 1px solid var(--rf-line); padding-top: 14px; }
.rf-basket .rf-coupon__toggle { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; min-height: 32px; font-size: 14px; font-weight: 500; color: var(--rf-navy-soft); }
.rf-basket .rf-coupon__toggle::-webkit-details-marker { display: none; }
.rf-basket .rf-coupon__toggle span { flex: 1; }
.rf-basket .rf-coupon__toggle .rf-icon--chev { transition: transform .2s ease; }
.rf-basket .rf-coupon[open] .rf-coupon__toggle .rf-icon--chev { transform: rotate(180deg); }
.rf-basket .rf-coupon__toggle:focus-visible { outline: 2px solid var(--rf-navy); outline-offset: 2px; border-radius: 4px; }
.rf-basket .rf-coupon__body { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.rf-basket .rf-coupon__label { font-size: 12px; color: var(--rf-muted); }
.rf-basket .rf-coupon__row { display: flex; gap: 8px; }
.rf-basket .rf-coupon__input {
	flex: 1; min-width: 0; height: 46px !important; margin: 0 !important; border: 1.5px solid #DAD8D2 !important; border-radius: 10px !important;
	padding: 0 12px !important; font-size: 15px !important; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--rf-navy) !important; background: #FFFFFF !important; box-shadow: none !important;
}
.rf-basket .rf-coupon__input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 400; color: #8A8DA8; }
.rf-basket .rf-coupon__input:focus { border-color: var(--rf-navy) !important; box-shadow: 0 0 0 3px rgba(33, 45, 110, .12) !important; outline: none; }
.rf-basket .rf-coupon.has-error .rf-coupon__input { border-color: #B4321E !important; }
.rf-basket .rf-coupon__apply {
	height: 46px; padding: 0 18px; margin: 0; border: 0; border-radius: 10px; background: var(--rf-navy) !important; color: #FFFFFF !important;
	font-size: 14px; font-weight: 600; cursor: pointer; line-height: 1; text-transform: none; letter-spacing: 0;
}
.rf-basket .rf-coupon__apply.is-busy { opacity: .6; cursor: progress; }
.rf-basket .rf-coupon__msg { margin: 2px 0 0; font-size: 13px; color: #9C2A17; }

/* Total */
.rf-basket table.rf-summary__table--total { border-top: 1px solid var(--rf-line) !important; }
.rf-basket table.rf-summary__table--total tr.order-total th { padding-top: 16px !important; font-size: 17px !important; font-weight: 600 !important; vertical-align: baseline; }
.rf-basket table.rf-summary__table--total tr.order-total td { padding-top: 14px !important; }
.rf-basket table.rf-summary__table--total tr.order-total td strong, .rf-basket table.rf-summary__table--total tr.order-total td strong .amount { font-size: 26px !important; font-weight: 700 !important; letter-spacing: -0.01em; color: var(--rf-navy) !important; }
.rf-basket table.rf-summary__table--total tr.order-total td small.includes_tax { display: block; margin-top: 2px; font-size: 12px; color: var(--rf-muted); }
.rf-basket table.rf-summary__table--total tr.order-total td small.includes_tax .amount { font-weight: 400; }

/* Saving, checkout, delivery note */
.rf-basket .rf-saving { margin: 0; background: var(--rf-navy); color: #FFFFFF; border-radius: 10px; padding: 11px 14px; font-size: 14px; text-align: center; }
.rf-basket .rf-saving strong, .rf-basket .rf-saving .amount { color: #FFFFFF; font-weight: 700; }
.rf-basket .wc-proceed-to-checkout { padding: 0 !important; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.rf-basket .wc-proceed-to-checkout a.checkout-button.rf-checkout-button {
	display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 58px; margin: 0 !important; padding: 0 20px !important;
	border: 0 !important; border-radius: 12px !important; background: var(--rf-coral) !important; color: #FFFFFF !important;
	font-size: 19px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: none !important;
}
.rf-basket .wc-proceed-to-checkout a.checkout-button.rf-checkout-button:hover { filter: brightness(.95); }
.rf-basket .wc-proceed-to-checkout a.checkout-button.rf-checkout-button:focus-visible { outline: 3px solid var(--rf-navy); outline-offset: 2px; }
.rf-basket .rf-delivery-note { margin: 0; display: flex; align-items: center; gap: 10px; background: #F6F5F2; border-radius: 10px; padding: 11px 14px; font-size: 13px; color: var(--rf-navy); }

/* Trust panel */
.rf-basket .rf-trust { background: var(--rf-card); border-radius: var(--rf-radius); padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.rf-basket .rf-trust__rating { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rf-basket .rf-trust__rating strong { font-weight: 600; }
.rf-basket .rf-trust__stars { display: inline-flex; gap: 2px; }
.rf-basket .rf-trust__star { width: 20px; height: 20px; background: #00B67A; display: inline-flex; align-items: center; justify-content: center; }
.rf-basket .rf-trust__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; color: var(--rf-navy-soft); }
.rf-basket .rf-trust__list li { display: flex; align-items: center; gap: 10px; margin: 0; }
.rf-basket .rf-pay { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 6px; }
.rf-basket .rf-pay__badge { flex: none; width: 44px; height: 28px; margin: 0; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; gap: 2px; font-weight: 800; line-height: 1; }
.rf-basket .rf-pay__badge--visa { background: #1A1F71; color: #FFFFFF; font-size: 11px; font-style: italic; }
.rf-basket .rf-pay__badge--mc { background: #141B4D; }
.rf-basket .rf-pay__badge--amex { background: #2E77BC; color: #FFFFFF; font-size: 10px; letter-spacing: .04em; }
.rf-basket .rf-pay__badge--paypal { background: #003087; color: #FFFFFF; font-size: 9px; font-style: italic; }
.rf-basket .rf-pay__badge--klarna { background: #FFB3C7; color: #17120F; font-size: 9px; }
.rf-basket .rf-pay__badge--apple { background: #000000; color: #FFFFFF; font-size: 11px; font-weight: 500; }

/* Calmer notices on the basket page */
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-message,
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-info {
	background: #EEF1F8 !important; color: var(--rf-navy, #212D6E) !important; border: 0 !important; border-radius: 12px !important;
	padding: 14px 18px !important; font-size: 14px !important; box-shadow: none !important;
}
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-error {
	background: #FBEDEA !important; color: #9C2A17 !important; border: 0 !important; border-radius: 12px !important; padding: 14px 18px !important; font-size: 14px !important;
}
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-message a,
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-info a { color: var(--rf-navy, #212D6E) !important; text-decoration: underline; }

/* Sticky checkout bar (phones only) */
.rf-basket .rf-sticky { display: none; }

@media (max-width: 768px) {
	.rf-basket { padding-block: 12px 24px; }
	.rf-basket .rf-basket__title { font-size: 26px; margin-bottom: 16px; }
	.rf-basket .rf-steps { margin-bottom: 14px; }
	.rf-basket .rf-steps__sep { width: 12px; }
	.rf-basket tr.rf-item {
		grid-template-columns: 80px minmax(0, 1fr) auto; column-gap: 14px; padding: 16px;
		grid-template-areas: "thumb name name" "thumb subtotal subtotal" "qty qty remove";
	}
	.rf-basket tr.rf-item .product-thumbnail img { width: 80px !important; height: 80px !important; }
	.rf-basket tr.rf-item .product-name { font-size: 15px; }
	.rf-basket tr.rf-item .product-subtotal { justify-self: start; text-align: left; font-size: 17px; }
	.rf-basket tr.rf-item .product-remove { justify-self: end; }
	.rf-basket tr.rf-item--child { margin-left: 16px; grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "thumb name subtotal" "thumb qty subtotal"; }
	.rf-basket tr.rf-item--child .product-subtotal { justify-self: end; text-align: right; }
	.rf-basket .rf-addons__list { display: flex; overflow-x: auto; margin-right: -20px; padding-right: 20px; scroll-snap-type: x mandatory; }
	.rf-basket .rf-addon { flex: 0 0 168px; scroll-snap-align: start; }
	.rf-basket .cart_totals.rf-summary { padding: 20px !important; }
	body.rf-basket-page { padding-bottom: 92px; }
	.rf-basket .rf-sticky {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; align-items: center; gap: 12px;
		background: #FFFFFF; border-top: 1px solid #E6E4DF; box-shadow: 0 -6px 20px rgba(33, 45, 110, .08);
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
	}
	.rf-basket .rf-sticky__total { display: flex; flex-direction: column; line-height: 1.2; font-size: 12px; color: var(--rf-muted); }
	.rf-basket .rf-sticky__total strong, .rf-basket .rf-sticky__total .amount { font-size: 17px; font-weight: 700; color: var(--rf-navy); }
	.rf-basket .rf-sticky__total small { display: none; }
	.rf-basket .rf-sticky__button {
		flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; border-radius: 12px;
		background: var(--rf-coral); color: #FFFFFF !important; font-size: 17px; font-weight: 600; text-decoration: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rf-basket .rf-coupon__toggle .rf-icon--chev { transition: none; }
}

/* ---------------------------------------------------------------
 * v1.0.1: stop Salient's styles leaking in
 * ------------------------------------------------------------- */
/* Steps: no theme list numbering */
.rf-basket ol.rf-steps, .rf-basket ol.rf-steps > li { list-style: none !important; counter-reset: none !important; counter-increment: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.rf-basket ol.rf-steps > li::marker { content: "" !important; }
.rf-basket ol.rf-steps > li::before, .rf-basket ol.rf-steps > li::after { content: none !important; display: none !important; }
.rf-basket ol.rf-steps > li.rf-steps__sep { width: 24px; height: 1px; padding: 0 !important; }

/* Headings: sentence case, design sizes */
.rf-basket .rf-basket__title, .rf-basket .rf-summary__title, .rf-basket .rf-addons__title { text-transform: none !important; }
.rf-basket .rf-basket__title { font-size: 34px !important; line-height: 1.15 !important; }

/* Item cards: use the full width */
.rf-basket tr.rf-item > td { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; float: none !important; }
.rf-basket tr.rf-item .product-name, .rf-basket tr.rf-item .product-name > a {
	font-size: 18px !important; line-height: 1.35 !important; font-weight: 600 !important; color: var(--rf-navy) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.rf-basket tr.rf-item .rf-item__perks { font-size: 13px !important; line-height: 1.4 !important; }
.rf-basket tr.rf-item .rf-item__perk { white-space: nowrap; }
.rf-basket tr.rf-item .product-subtotal .tax_label { display: none !important; }
.rf-basket tr.rf-item .product-subtotal, .rf-basket tr.rf-item .product-subtotal .amount { font-size: 20px !important; font-weight: 700 !important; color: var(--rf-navy) !important; }
.rf-basket tr.rf-item .product-subtotal del.rf-item__was, .rf-basket tr.rf-item .product-subtotal del.rf-item__was .amount { font-size: 14px !important; font-weight: 400 !important; color: #8A8DA8 !important; }
.rf-basket tr.rf-item .product-subtotal .rf-item__save, .rf-basket tr.rf-item .product-subtotal .rf-item__save .amount { font-size: 12px !important; font-weight: 600 !important; color: var(--rf-green-text) !important; }

/* Struck-through delivery price in grey (theme colours <del> pink) */
.rf-basket del, .rf-basket del .amount, .rf-basket del span { color: #8A8DA8 !important; opacity: 1 !important; }
.rf-basket .rf-fs-free { color: var(--rf-green) !important; }

/* Delivery row: tighter "Shipping to… / Change address" */
.rf-basket .rf-summary .woocommerce-shipping-totals td > p, .rf-basket .rf-summary .woocommerce-shipping-destination { margin: 2px 0 0 !important; line-height: 1.4 !important; }
.rf-basket .rf-summary form.woocommerce-shipping-calculator { margin: 0 !important; padding: 0 !important; }
.rf-basket .rf-summary .woocommerce-shipping-calculator > p { margin: 0 !important; }
.rf-basket .rf-summary .shipping-calculator-button { display: inline-block; margin-top: 2px; line-height: 1.4 !important; }

/* Discount code toggle: no theme border/box */
.rf-basket details.rf-coupon, .rf-basket details.rf-coupon > summary { border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
.rf-basket details.rf-coupon > summary { border-top: 0 !important; padding: 0 !important; margin: 0 !important; outline: none; }
.rf-basket details.rf-coupon > summary:focus-visible { outline: 2px solid var(--rf-navy); outline-offset: 3px; border-radius: 4px !important; }
.rf-basket details.rf-coupon > summary::before, .rf-basket details.rf-coupon > summary::after { content: none !important; }

@media (max-width: 768px) {
	.rf-basket .rf-basket__title { font-size: 26px !important; }
	.rf-basket tr.rf-item .product-name, .rf-basket tr.rf-item .product-name > a { font-size: 15px !important; }
	.rf-basket tr.rf-item .product-subtotal, .rf-basket tr.rf-item .product-subtotal .amount { font-size: 17px !important; }
	.rf-basket tr.rf-item .rf-item__perk { white-space: normal; }
	.rf-basket ol.rf-steps > li.rf-steps__sep { width: 12px; }
}

/* ---------------------------------------------------------------
 * v1.0.2: mobile fixes
 * ------------------------------------------------------------- */
/* Product name: no theme underline */
body.rf-basket-page .rf-basket tr.rf-item .product-name > a,
body.rf-basket-page .rf-basket tr.rf-item .product-name > a:visited { text-decoration: none !important; border-bottom: 0 !important; box-shadow: none !important; background-image: none !important; }
body.rf-basket-page .rf-basket tr.rf-item .product-name > a:hover { text-decoration: underline !important; }

/* Line price: always visible (Salient hides this column on phones) */
body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-subtotal,
body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-quantity,
body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-remove,
body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-name,
body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-thumbnail { display: block !important; visibility: visible !important; opacity: 1 !important; position: static !important; }

/* Notices: normal line height */
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-message,
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-info,
body.rf-basket-page .woocommerce-notices-wrapper .woocommerce-error { line-height: 1.5 !important; }

@media (max-width: 768px) {
	/* Steps on one line */
	.rf-basket ol.rf-steps { flex-wrap: nowrap !important; gap: 6px !important; font-size: 12px !important; }
	.rf-basket ol.rf-steps > li.rf-steps__item { gap: 5px !important; white-space: nowrap; }
	.rf-basket ol.rf-steps .rf-steps__num { width: 20px; height: 20px; font-size: 11px; }
	.rf-basket ol.rf-steps > li.rf-steps__sep { width: 8px !important; flex: none; }
	/* Price sits under the name, left-aligned */
	body.rf-basket-page .rf-basket table.rf-items tr.rf-item > td.product-subtotal { justify-self: start !important; text-align: left !important; }
}
@media (max-width: 360px) {
	.rf-basket ol.rf-steps { font-size: 11px !important; }
}

/* ---------------------------------------------------------------
 * v1.0.3: keep the left column in view while the summary scrolls
 * (desktop only, and only when the left column fits on screen)
 * ------------------------------------------------------------- */
.rf-basket { --rf-sticky-top: 120px; }
@media (min-width: 769px) {
	.rf-basket .rf-basket__main { position: relative; }
	.rf-basket .rf-basket__main.rf-native-sticky { position: -webkit-sticky; position: sticky; top: var(--rf-sticky-top); align-self: flex-start; }
	.rf-basket .rf-basket__stick { z-index: 2; }
}

/* ---------------------------------------------------------------
 * v1.1.0: quick-add popup
 * ------------------------------------------------------------- */
body.rf-qv-open { overflow: hidden; }
dialog.rf-qv {
	width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 18px;
	background: #FFFFFF; color: #212D6E; box-shadow: 0 24px 60px rgba(33, 45, 110, .25); overflow: auto; font-size: 15px; line-height: 1.5;
}
dialog.rf-qv::backdrop { background: rgba(20, 24, 56, .55); }
dialog.rf-qv * { box-sizing: border-box; }
.rf-qv__close {
	position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0 !important; border-radius: 50%;
	background: #F3F2EE !important; color: #212D6E !important; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 !important; z-index: 2;
}
.rf-qv__close:focus-visible { outline: 2px solid #212D6E; outline-offset: 2px; }
.rf-qv__body { display: flex; flex-wrap: wrap; gap: 28px; padding: 28px; }
.rf-qv__media { flex: 1 1 260px; min-width: 0; }
.rf-qv__img { width: 100%; aspect-ratio: 1 / 1; max-width: 100%; object-fit: contain; border-radius: 12px; background: #F3F2EE; display: block; }
.rf-qv__info { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.rf-qv__title { margin: 0 !important; padding-right: 40px; font-size: 22px !important; line-height: 1.3 !important; font-weight: 700 !important; color: #212D6E !important; text-transform: none !important; letter-spacing: -.01em; }
.rf-qv__price { font-size: 20px; font-weight: 700; }
.rf-qv__price del, .rf-qv__price del .amount { color: #8A8DA8 !important; font-weight: 400; font-size: 16px; }
.rf-qv__price ins { text-decoration: none; }
.rf-qv__options { display: flex; flex-direction: column; gap: 14px; }
.rf-qv__group { border: 0; margin: 0; padding: 0; min-width: 0; }
.rf-qv__legend { padding: 0; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #3A4280; }
.rf-qv__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.rf-qv__opt { position: relative; margin: 0 !important; cursor: pointer; }
.rf-qv__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rf-qv__opt span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 44px; padding: 0 16px;
	border: 1.5px solid #DAD8D2; border-radius: 10px; background: #FFFFFF; font-size: 14px; font-weight: 600; color: #212D6E;
}
.rf-qv__opt input:checked + span { border-color: #212D6E; background: #212D6E; color: #FFFFFF; }
.rf-qv__opt input:focus-visible + span { outline: 2px solid #212D6E; outline-offset: 2px; }
.rf-qv__opt.is-unavailable { cursor: not-allowed; }
.rf-qv__opt.is-unavailable span { color: #A9ABBF; border-style: dashed; text-decoration: line-through; }
.rf-qv__msg { margin: 0; font-size: 13px; color: #9C2A17; }
.rf-qv__add {
	min-height: 54px; margin-top: 4px; border: 0 !important; border-radius: 12px !important; background: #FB7661 !important; color: #FFFFFF !important;
	font-size: 17px !important; font-weight: 600 !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important;
}
.rf-qv__add:disabled { opacity: .5; cursor: not-allowed; }
.rf-qv__add:focus-visible { outline: 3px solid #212D6E; outline-offset: 2px; }
.rf-qv__details { align-self: flex-start; font-size: 14px; color: #3A4280 !important; text-decoration: underline; }
dialog.rf-qv.is-loading .rf-qv__info { opacity: .4; }
@media (max-width: 600px) {
	dialog.rf-qv { width: 100vw; max-width: 100vw; max-height: 92vh; margin: auto 0 0; border-radius: 18px 18px 0 0; }
	.rf-qv__body { padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px)); gap: 16px; }
	.rf-qv__media { flex-basis: 100%; }
	.rf-qv__img { aspect-ratio: 4 / 3; }
}

/* ---------------------------------------------------------------
 * v1.1.1: brand fonts everywhere, sale prices, browser fallbacks
 * ------------------------------------------------------------- */
/* Use the website's own fonts (Salient's), including in buttons and inputs, which browsers otherwise style with system fonts */
.rf-basket, .rf-basket button, .rf-basket input, .rf-basket select, .rf-basket textarea,
dialog.rf-qv, dialog.rf-qv button, dialog.rf-qv input { font-family: inherit; }
dialog.rf-qv { font-family: inherit; }

/* Sale prices: struck-through full price, no underline on the sale price */
.rf-basket .rf-addon__price del, .rf-basket .rf-addon__price del .amount { color: #8A8DA8 !important; font-weight: 400 !important; font-size: 13px; margin-right: 4px; }
.rf-basket .rf-addon__price ins, .rf-qv__price ins { text-decoration: none !important; background: none !important; }
.rf-qv__pricerow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rf-qv__save { display: inline-block; padding: 3px 8px; border-radius: 6px; background: #E8F5EE; color: #1F6E46; font-size: 12px; font-weight: 600; }
.rf-qv__save[hidden] { display: none; }

/* Phones: use the visible screen height where supported (iOS Safari address bar) */
@media (max-width: 600px) {
	dialog.rf-qv { max-height: 92vh; max-height: 92dvh; }
}

/* Payment badges shrink to fit narrow cards */
.rf-basket .rf-pay__badge { flex: 1 1 0; width: auto; max-width: 44px; min-width: 0; overflow: hidden; }
.rf-basket .rf-pay { max-width: 100%; }
.rf-basket tr.rf-item .product-quantity .quantity { max-width: 100%; }
.rf-basket tr.rf-item .product-quantity input.qty { max-width: 64px; }

/* Very small phones (iPhone SE 1st gen and similar) */
@media (max-width: 360px) {
	.rf-basket ol.rf-steps > li.rf-steps__item:not(.is-current) { font-size: 0 !important; gap: 0 !important; }
	.rf-basket ol.rf-steps > li.rf-steps__item:not(.is-current) .rf-steps__num { font-size: 11px; }
	.rf-basket tr.rf-item { grid-template-columns: 64px minmax(0, 1fr) auto; column-gap: 12px; padding: 14px; }
	.rf-basket tr.rf-item .product-thumbnail img { width: 64px !important; height: 64px !important; }
	.rf-basket tr.rf-item .product-subtotal { white-space: normal; }
	.rf-basket .rf-trust { padding: 16px; }
	.rf-basket .cart_totals.rf-summary { padding: 16px !important; }
	.rf-basket .rf-sticky__button { font-size: 15px; }
}

/* "Save £X" tag sits under the price */
.rf-basket tr.rf-item .product-subtotal .rf-item__save { display: block !important; width: -moz-fit-content; width: fit-content; margin: 6px 0 0 auto !important; }
@media (max-width: 768px) {
	.rf-basket tr.rf-item:not(.rf-item--child) .product-subtotal .rf-item__save { margin-left: 0 !important; }
}

/* v1.1.2: popup loading state, "Choose options" button */
dialog.rf-qv { position: relative; }
.rf-qv__loading { display: none; position: absolute; inset: 0; align-items: center; justify-content: center; z-index: 1; }
dialog.rf-qv.is-loading .rf-qv__loading { display: flex; }
dialog.rf-qv.is-loading .rf-qv__body { visibility: hidden; }
dialog.rf-qv.is-loading { min-height: 320px; }
.rf-qv__loading span { width: 36px; height: 36px; border-radius: 50%; border: 3px solid #E6E4DF; border-top-color: #FB7661; animation: rf-qv-spin .8s linear infinite; }
@keyframes rf-qv-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rf-qv__loading span { animation-duration: 2.4s; } }
.rf-qv__img:not([src]) { visibility: hidden; }
.rf-qv__options-link {
	display: flex; align-items: center; justify-content: center; min-height: 54px; margin-top: 4px; border-radius: 12px;
	background: #FB7661; color: #FFFFFF !important; font-size: 17px; font-weight: 600; text-decoration: none !important;
}
.rf-qv__options-link[hidden] { display: none; }
.rf-qv__options-link:focus-visible { outline: 3px solid #212D6E; outline-offset: 2px; }

/* ---------------------------------------------------------------
 * v1.2.0
 * ------------------------------------------------------------- */
/* Which lines a discount code applies to */
.rf-basket .rf-item__coupon { margin: 8px 0 0 !important; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; background: #EEF1F8; color: #212D6E; font-size: 13px !important; font-weight: 400 !important; line-height: 1.4 !important; }
.rf-basket .rf-item__coupon strong { font-weight: 600; letter-spacing: .03em; }
.rf-basket .rf-item__coupon .amount { font-weight: 600; color: #212D6E !important; font-size: 13px !important; }

/* Rounder buttons, matching the cards (Salient forces near-square corners otherwise) */
html body.rf-basket-page .rf-basket .wc-proceed-to-checkout a.checkout-button.rf-checkout-button,
html body.rf-basket-page .rf-basket .rf-sticky__button,
html body dialog.rf-qv .rf-qv__add,
html body dialog.rf-qv .rf-qv__options-link { border-radius: 16px !important; }

/* Popup title takes focus without a ring */
.rf-qv__title:focus { outline: none; }

/* "Continue shopping" goes to the very bottom on phones */
.rf-basket .rf-continue--mobile { display: none; }
@media (max-width: 768px) {
	.rf-basket .rf-basket__main .rf-continue { display: none; }
	.rf-basket .rf-continue--mobile { display: inline-block; align-self: flex-start; margin-top: 4px; }
	.rf-basket .rf-sticky { transition: transform .25s ease; }
	body.rf-checkout-in-view .rf-basket .rf-sticky { transform: translateY(110%); }
	body.rf-checkout-in-view.rf-basket-page { padding-bottom: 0; }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
	.rf-basket .rf-sticky { transition: none; }
}

/* v1.2.1: delivery row, tidy spacing (Salient adds padding under paragraphs) */
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals td p,
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals td form,
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-calculator p { margin: 0 !important; padding: 0 !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-destination { margin-top: 4px !important; font-size: 12px !important; line-height: 1.45 !important; color: #6B6F8F !important; text-wrap: balance; }
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-button { margin-top: 2px !important; font-size: 12px !important; }

/* ---------------------------------------------------------------
 * v1.3.0
 * ------------------------------------------------------------- */
/* Coupon tag on product rows: soft blue */
html body.rf-basket-page .rf-basket .rf-item__coupon { background: #EEF1F8 !important; color: #212D6E !important; }
html body.rf-basket-page .rf-basket .rf-item__coupon .rf-icon { color: #212D6E; }
html body.rf-basket-page .rf-basket .rf-item__coupon .amount { color: #212D6E !important; font-weight: 600 !important; }

/* Discounted line price */
html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal .rf-item__now,
html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal .rf-item__now .amount { display: block; font-size: 20px !important; font-weight: 700 !important; color: #212D6E !important; }
@media (max-width: 768px) {
	html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal .rf-item__now,
	html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal .rf-item__now .amount { font-size: 17px !important; }
}

/* Trustpilot widget */
.rf-basket .rf-trust__widget { min-height: 150px; margin: -4px 0 0; }
.rf-basket .rf-trust__widget > a { font-size: 14px; color: #212D6E; }

/* v1.3.1: compact Trustpilot widget, aligned left with the list below */
html body.rf-basket-page .rf-basket .rf-trust__widget { width: 200px; max-width: 100%; min-height: 96px; margin: 0 0 0 -8px !important; }
html body.rf-basket-page .rf-basket .rf-trust__widget iframe { height: 96px !important; }

/* v1.3.2: the sticky wrapper lays out like the old column */
.rf-basket .rf-basket__stick { display: block; }

/* v1.3.3: the "Shipping to …" line and the change-address form use the full width of the summary.
   Rows become flex rows (label left, value right); in the delivery row the address line and form wrap onto their own full-width lines. */
html body.rf-basket-page .rf-basket table.rf-summary__table,
html body.rf-basket-page .rf-basket table.rf-summary__table > tbody { display: block !important; width: 100% !important; }
html body.rf-basket-page .rf-basket table.rf-summary__table tr { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0 16px; width: 100%; }
html body.rf-basket-page .rf-basket table.rf-summary__table tr > th { display: block !important; flex: 0 0 auto; }
html body.rf-basket-page .rf-basket table.rf-summary__table tr > td { display: block !important; flex: 1 1 auto; min-width: 0; }
html body.rf-basket-page .rf-basket table.rf-summary__table tr.woocommerce-shipping-totals > td { display: contents !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals ul#shipping_method { flex: 1 1 auto; min-width: 0; padding: 6px 0 !important; text-align: right; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals tr > td > :not(#shipping_method),
html body.rf-basket-page .rf-basket .rf-summary tr.woocommerce-shipping-totals > td > :not(#shipping_method) { flex: 0 0 100%; text-align: left !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-destination { text-wrap: pretty; margin-top: 0 !important; }
html body.rf-basket-page .rf-basket .rf-summary tr.woocommerce-shipping-totals > td > p:not(.woocommerce-shipping-destination) { font-size: 12px !important; color: #6B6F8F !important; line-height: 1.45 !important; }

/* Change-address form: full width fields */
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form { width: 100%; margin-top: 12px !important; padding: 0 !important; text-align: left; }
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form p.form-row { display: block !important; width: 100% !important; float: none !important; margin: 0 0 12px !important; padding: 0 !important; }
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form p.form-row label { display: block; margin: 0 0 4px !important; padding: 0 !important; font-size: 13px !important; }
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form .woocommerce-input-wrapper,
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form input.input-text,
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form select,
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form .select2-container { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 !important; }
html body.rf-basket-page .rf-basket .rf-summary .shipping-calculator-form button[name="calc_shipping"] { display: block; width: 100% !important; margin: 4px 0 0 !important; border-radius: 16px !important; }

/* v1.3.4: calmer summary. Saving and delivery note become plain text so only the checkout button looks clickable. */
html body.rf-basket-page .rf-basket .rf-saving { margin: -8px 0 0 !important; padding: 0 !important; background: none !important; border-radius: 0; color: var(--rf-green-text) !important; font-size: 14px !important; line-height: 1.4 !important; text-align: right; }
html body.rf-basket-page .rf-basket .rf-saving strong, html body.rf-basket-page .rf-basket .rf-saving .amount { color: var(--rf-green-text) !important; font-weight: 700 !important; }
html body.rf-basket-page .rf-basket .rf-delivery-note { justify-content: center; margin: -4px 0 0 !important; padding: 0 !important; background: none !important; border-radius: 0; font-size: 13px !important; color: #6B6F8F !important; gap: 8px; }
html body.rf-basket-page .rf-basket .rf-delivery-note svg { color: var(--rf-navy); opacity: .8; }

/* v1.4.0: empty basket page */
html body.rf-basket-page .rf-basket.rf-empty { max-width: 1080px; margin: 0 auto; padding: 8px 0 40px; }
html body.rf-basket-page .rf-empty__hero { text-align: center; max-width: 560px; margin: 0 auto 40px; }
html body.rf-basket-page .rf-basket .rf-empty__title { margin: 0 0 10px !important; padding: 0 !important; }
html body.rf-basket-page .rf-empty__lead { margin: 0 0 22px !important; padding: 0 !important; font-size: 16px; line-height: 1.5; color: var(--rf-navy-soft); }
html body.rf-basket-page .rf-basket a.rf-empty__button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 36px; border-radius: 16px; background: var(--rf-coral); color: #FFFFFF !important; font-size: 17px; font-weight: 700; text-decoration: none !important; }
html body.rf-basket-page .rf-basket a.rf-empty__button:hover { filter: brightness(.95); }
html body.rf-basket-page .rf-basket a.rf-empty__button:focus-visible { outline: 3px solid var(--rf-navy); outline-offset: 2px; }
html body.rf-basket-page .rf-empty__free { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 16px 0 0 !important; padding: 0 !important; font-size: 14px; font-weight: 500; color: var(--rf-green-text); }

html body.rf-basket-page .rf-basket .rf-empty__picks-title { margin: 0 0 16px !important; padding: 0 !important; font-size: 20px !important; font-weight: 700 !important; color: var(--rf-navy) !important; text-transform: none !important; letter-spacing: 0 !important; text-align: center; }
html body.rf-basket-page .rf-basket ul.rf-empty__grid { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html body.rf-basket-page .rf-basket ul.rf-empty__grid > li.rf-pick { list-style: none; margin: 0 !important; padding: 20px !important; background: var(--rf-card); border-radius: var(--rf-radius); display: flex; flex-direction: column; }
html body.rf-basket-page .rf-basket ul.rf-empty__grid > li.rf-pick::before { content: none !important; display: none !important; }
html body.rf-basket-page .rf-pick__img { display: block; margin: 0 0 16px; }
html body.rf-basket-page .rf-pick__img img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 12px; background: var(--rf-card); margin: 0 !important; }
html body.rf-basket-page .rf-pick__body { display: flex; flex-direction: column; flex: 1; gap: 8px; }
html body.rf-basket-page .rf-basket a.rf-pick__name { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--rf-navy) !important; text-decoration: none !important; }
html body.rf-basket-page .rf-basket a.rf-pick__name:hover { text-decoration: underline !important; }
html body.rf-basket-page .rf-pick__price { font-size: 16px; color: var(--rf-navy); }
html body.rf-basket-page .rf-pick__price del { color: #8A8DA8 !important; font-size: 14px; }
html body.rf-basket-page .rf-pick__price del .amount { color: #8A8DA8 !important; }
html body.rf-basket-page .rf-pick__price ins { text-decoration: none; font-weight: 700; }
html body.rf-basket-page .rf-basket a.rf-pick__add { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 16px; border: 1.5px solid var(--rf-navy); border-radius: 16px; background: transparent; color: var(--rf-navy) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
html body.rf-basket-page .rf-basket a.rf-pick__add:hover { background: var(--rf-navy); color: #FFFFFF !important; }
html body.rf-basket-page .rf-basket a.rf-pick__add.loading { opacity: .6; pointer-events: none; }
html body.rf-basket-page .rf-basket a.rf-pick__add.added::after { content: " ✓"; }
html body.rf-basket-page .rf-empty .added_to_cart { display: none !important; }
html body.rf-basket-page .rf-pick__body { padding-top: 4px; }

html body.rf-basket-page .rf-basket ul.rf-empty__trust { list-style: none; margin: 32px 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; font-size: 14px; color: var(--rf-navy-soft); }
html body.rf-basket-page .rf-basket ul.rf-empty__trust li { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
html body.rf-basket-page .rf-basket ul.rf-empty__trust li::before { content: none !important; display: none !important; }

@media (max-width: 768px) {
	html body.rf-basket-page .rf-empty__hero { margin-bottom: 28px; }
	html body.rf-basket-page .rf-basket a.rf-empty__button { display: flex; width: 100%; }
	html body.rf-basket-page .rf-basket .rf-empty__picks-title { text-align: left; }
	html body.rf-basket-page .rf-basket ul.rf-empty__grid { grid-template-columns: 1fr; gap: 12px; }
	html body.rf-basket-page .rf-basket ul.rf-empty__grid > li.rf-pick { flex-direction: row; align-items: center; gap: 14px; padding: 14px !important; }
	html body.rf-basket-page .rf-pick__img { flex: 0 0 104px; margin: 0; }
	html body.rf-basket-page .rf-pick__body { gap: 6px; padding-top: 0; }
	html body.rf-basket-page .rf-basket a.rf-pick__name { font-size: 15px; }
	html body.rf-basket-page .rf-pick__price { font-size: 15px; }
	html body.rf-basket-page .rf-basket a.rf-pick__add { margin-top: 4px; min-height: 40px; font-size: 14px; align-self: flex-start; }
	html body.rf-basket-page .rf-basket ul.rf-empty__trust { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* v1.4.1: add-on prices never break mid-price; price and button stack on mobile */
html body.rf-basket-page .rf-basket .rf-addon__foot { flex-wrap: wrap; row-gap: 10px; }
html body.rf-basket-page .rf-basket .rf-addon__price .amount,
html body.rf-basket-page .rf-basket .rf-pick__price .amount { white-space: nowrap; }
@media (max-width: 768px) {
	html body.rf-basket-page .rf-basket .rf-addon__foot { flex-direction: column; align-items: stretch; gap: 10px; }
	html body.rf-basket-page .rf-basket .rf-addon__price { display: block; line-height: 1.35; }
	html body.rf-basket-page .rf-basket a.rf-addon__add { display: flex; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; }
}

/* v1.6.0: make sale items obvious */
.rf-basket .rf-item__thumb { position: relative; display: inline-block; }
.rf-basket .rf-item__sale-badge { position: absolute; top: 6px; left: 6px; z-index: 1; padding: 3px 9px; border-radius: 999px; background: #C9472E; color: #FFFFFF; font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1.4; pointer-events: none; }
html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal del.rf-item__was,
html body.rf-basket-page .rf-basket tr.rf-item .product-subtotal del.rf-item__was .amount { font-size: 15px !important; color: #5F6488 !important; }
html body.rf-basket-page .rf-basket .rf-summary del.rf-was,
html body.rf-basket-page .rf-basket .rf-summary del.rf-was .amount { margin-right: 6px; font-size: 14px !important; font-weight: 400 !important; color: #5F6488 !important; }

/* v1.6.2: "Sale!" tag styled like the shop's */
html body.rf-basket-page .rf-basket .rf-item__sale-badge { top: 0; left: 0; padding: 4px 10px; border-radius: 4px; background: #FB7661; background-image: linear-gradient(147deg, #FB7661 0%, #79A0FE 98.86%); color: #FFFFFF; font-size: 13px; font-weight: 400; letter-spacing: -0.01em; line-height: 1.4; }

/* v1.6.3: popup close button in brand coral so it's easy to spot */
html body dialog.rf-qv .rf-qv__close { width: 44px !important; height: 44px !important; border: 0 !important; border-radius: 50% !important; background: #FB7661 !important; color: #FFFFFF !important; box-shadow: 0 2px 8px rgba(33, 45, 110, .18) !important; }
html body dialog.rf-qv .rf-qv__close:hover { background: #E8634E !important; }
html body dialog.rf-qv .rf-qv__close svg { stroke: currentColor !important; color: #FFFFFF !important; }
html body dialog.rf-qv .rf-qv__close:focus-visible { outline: 3px solid #212D6E !important; outline-offset: 2px; }

/* v1.6.6: paid delivery in the basket summary: plain navy price, no "(incl. VAT)" */
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals .tax_label { display: none !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals #shipping_method label,
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals #shipping_method .amount,
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals #shipping_method bdi,
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-Price-currencySymbol { color: inherit !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals #shipping_method label { color: var(--rf-navy) !important; padding: 0 !important; margin: 0 !important; font-weight: 400 !important; }
html body.rf-basket-page .rf-basket .rf-summary .woocommerce-shipping-totals #shipping_method li { padding: 0 !important; margin: 0 !important; text-align: right; }

/* v1.6.8: marker WooCommerce needs when the basket empties without a reload; never shown */
.rf-basket.rf-empty > .wc-empty-cart-message { display: none !important; }
