/* Maverick Black Friday */

.mbf-wheel [hidden],
.mbf-form [hidden],
.mbf-banner [hidden] { display: none !important; }

:root {
	--mbf-navy: #1e3a5f;
	--mbf-green: #489046;
	--mbf-green-dark: #3a7a38;
	--mbf-blue: #4088c2;
	--mbf-red: #e53e3e;
	--mbf-ink: #111827;
	--mbf-muted: #6b7280;
	--mbf-line: #d1d5db;
}

/* ── Banner ───────────────────────────────────────────────────────────── */

/* Sticky at the top, with the theme's sticky header held just below it
   (--mbf-banner-h is the banner's height, kept current by the script). */
.mbf-banner {
	position: sticky;
	top: 0;
	z-index: 1001;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2px 14px;
	padding: 9px 16px;
	background: #000;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
}
body:has(.mbf-banner) #brx-header.brx-sticky { top: var(--mbf-banner-h, 0px); }

/* One plain line, the way the big fashion and supplement sites do it:
   black bar, white text, no badges, boxes or colours. */
.mbf-banner--teaser { background: #000; }
.mbf-banner__link { position: absolute; inset: 0; z-index: 1; }
.mbf-banner__tag,
.mbf-banner__text,
.mbf-banner .mbf-countdown { position: relative; pointer-events: none; }
.mbf-banner .mbf-code { position: relative; z-index: 2; pointer-events: auto; }
.mbf-banner__tag { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.mbf-banner__hl { font-weight: 700; }
.mbf-banner .mbf-code {
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	font-weight: 700;
	text-decoration: none;
}
.mbf-banner .mbf-code__copy { padding: 0; background: none; text-decoration: underline; text-underline-offset: 2px; font-size: 11px; font-weight: 500; opacity: .65; }
.mbf-banner .mbf-countdown { gap: 4px; opacity: .85; font-weight: 500; }
.mbf-banner .mbf-countdown__label { margin-right: 2px; font-weight: 500; }
.mbf-banner .mbf-countdown__unit { flex-direction: row; align-items: baseline; min-width: 0; padding: 0; border-radius: 0; background: none; }
.mbf-banner .mbf-countdown__unit b { font-size: inherit; font-weight: 600; line-height: inherit; }
.mbf-banner .mbf-countdown__unit small { font-size: 0; }
.mbf-banner .mbf-countdown__unit small::after { content: attr(data-short); font-size: 13px; text-transform: lowercase; opacity: 1; }
.mbf-banner .mbf-countdown.is-urgent .mbf-countdown__unit { background: none; }

/* ── Countdown ────────────────────────────────────────────────────────── */

.mbf-countdown { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.mbf-countdown__label { margin-right: 4px; font-weight: 600; }
.mbf-countdown__unit {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	min-width: 40px;
	padding: 3px 6px;
	border-radius: 6px;
	background: rgba(255, 255, 255, .12);
}
.mbf-countdown__unit b { font-size: 1.15em; line-height: 1.1; }
.mbf-countdown__unit small { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; opacity: .8; }
.mbf-countdown.is-urgent .mbf-countdown__unit { background: var(--mbf-red); }
.mbf-form .mbf-countdown__unit,
.mbf-note .mbf-countdown__unit { background: var(--mbf-navy); color: #fff; }

/* ── Code ─────────────────────────────────────────────────────────────── */

.mbf-code {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 6px 4px 12px;
	border: 2px dashed currentColor;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 800;
	letter-spacing: .06em;
	cursor: pointer;
}
.mbf-code__copy {
	padding: 2px 8px;
	border-radius: 4px;
	background: var(--mbf-green);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: uppercase;
}

/* ── Prices ───────────────────────────────────────────────────────────── */

/* "£X with code BF26" under every eligible price */
.mbf-code-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	width: fit-content;
	margin-top: 6px;
	padding: 3px 8px;
	border-radius: 6px;
	background: #eef6ee;
	color: var(--mbf-green-dark);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}
.mbf-code-price .woocommerce-Price-amount { font-weight: 800; }
.mbf-code-price strong { letter-spacing: .04em; }

/* "Black Friday −25%" in place of "Sale" */
.badge.onsale.mbf-onsale,
.onsale.mbf-onsale {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 6px;
	background: #07090c;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .02em;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
}
.mbf-onsale b {
	padding-right: 6px;
	border-right: 1px solid rgba(255, 255, 255, .3);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .06em;
}
/* Home page best-sellers: the badge sits in the theme's diagonal corner
   ribbon, so it becomes plain one-line text and the ribbon itself goes black. */
.home-sale-badge.brxe-text-basic:has(.mbf-onsale) {
	background: #07090c;
	box-shadow: 0 0 0 0 transparent, inset 0 -3px 0 var(--mbf-green);
}
.home-sale-badge .badge.onsale.mbf-onsale {
	display: block;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 13px;
	text-align: center;
	white-space: nowrap;
}
/* The corner only shows a few characters: the percentage says it */
.home-sale-badge .mbf-onsale b { display: none; }
.home-sale-badge .badge.onsale.mbf-onsale { font-size: 15px; font-weight: 900; }

.mbf-saved th,
.mbf-saved td,
.mbf-saved-mini { color: var(--mbf-green-dark) !important; }
.mbf-saved-mini { display: flex; justify-content: space-between; margin: 0 0 12px; font-weight: 600; }

/* ── Deal card on the product page ────────────────────────────────────── */

.mbf-deal {
	position: relative;
	overflow: hidden;
	margin: 0 0 18px;
	padding: 16px 18px;
	border-radius: 14px;
	background: linear-gradient(150deg, #07090c 0%, #13263d 70%, #1e3a5f 100%);
	color: #fff;
	box-shadow: 0 10px 24px rgba(7, 9, 12, .18);
}
.mbf-deal::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--mbf-blue), var(--mbf-green));
}
.mbf-deal__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.mbf-deal__badge {
	display: inline-block;
	padding: 4px 9px;
	border-radius: 4px;
	background: #fff;
	color: #07090c;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
}
.mbf-deal .mbf-countdown { gap: 4px; font-size: 13px; }
.mbf-deal .mbf-countdown__label { font-size: 12px; font-weight: 600; opacity: .8; }
.mbf-deal .mbf-countdown__unit { min-width: 34px; padding: 2px 4px; }
.mbf-deal__saving { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.mbf-deal__was { color: rgba(255, 255, 255, .7); font-size: 14px; }
.mbf-deal__was del { color: rgba(255, 255, 255, .85); }
.mbf-deal__save { color: #7ed37b; font-size: 17px; font-weight: 800; }
.mbf-deal__save .woocommerce-Price-amount,
.mbf-deal__was .woocommerce-Price-amount { color: inherit; font-size: inherit; }
.mbf-deal__code {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: 14px;
}
.mbf-deal__code strong,
.mbf-deal__code .woocommerce-Price-amount { color: #fff; font-size: 16px; font-weight: 800; }
.mbf-deal .mbf-code { padding: 3px 5px 3px 10px; border-color: rgba(255, 255, 255, .7); color: #fff; font-size: 13px; }
.mbf-deal--soon { background: linear-gradient(150deg, #13263d 0%, #1e3a5f 100%); }
.mbf-deal__soon { margin: 0; font-size: 14px; }
.mbf-deal__soon a { color: #9fd0f5; font-weight: 700; text-decoration: none; }

/* ── Strip on the cart and checkout ───────────────────────────────────── */

.mbf-cart-strip {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
	padding: 16px 20px;
	border-radius: 14px;
	background: linear-gradient(120deg, #07090c 0%, #13263d 70%, #1e3a5f 100%);
	color: #fff;
	box-shadow: 0 10px 24px rgba(7, 9, 12, .14);
}
.mbf-cart-strip__main { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font-size: 16px; }
.mbf-cart-strip__main .mbf-countdown { margin-left: auto; font-size: 13px; }
.mbf-cart-strip__main .mbf-countdown__label { font-size: 12px; opacity: .8; }
.mbf-cart-strip__main .mbf-countdown__unit { min-width: 34px; padding: 2px 4px; }
.mbf-cart-strip__text strong,
.mbf-cart-strip__text .woocommerce-Price-amount { color: #7ed37b; font-weight: 800; }
.mbf-cart-strip__code {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: 14px;
}
.mbf-cart-strip__code strong { letter-spacing: .05em; }
.mbf-cart-strip__applied { color: #7ed37b; font-weight: 700; }
.mbf-cart-strip .mbf-btn { padding: 9px 18px; border-radius: 8px; font-size: 14px; }
.mbf-cart-strip .mbf-gift-picker { margin: 0; color: var(--mbf-ink); }
.mbf-cart-strip.is-loading { opacity: .7; transition: opacity .2s; }
.mbf-cart-strip .mbf-code { padding: 3px 5px 3px 10px; border-color: rgba(255, 255, 255, .7); color: #fff; font-size: 13px; }

/* Compact box inside the checkout's "Your Cart" card */
.mbf-co-row td { padding: 4px 0 10px !important; border: 0 !important; }
.mbf-co {
	position: relative;
	overflow: hidden;
	padding: 12px 14px 14px;
	border-radius: 10px;
	background: linear-gradient(135deg, #07090c 0%, #13263d 75%, #1e3a5f 100%);
	color: #fff;
	font-size: 13px;
	line-height: 1.4;
	text-align: left;
}
.mbf-co::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--mbf-blue), var(--mbf-green));
}
.mbf-co__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.mbf-co .mbf-deal__badge { padding: 3px 7px; font-size: 10px; }
.mbf-co .mbf-countdown { gap: 3px; font-size: 12px; }
.mbf-co .mbf-countdown__label { margin-right: 2px; font-size: 12px; font-weight: 500; opacity: .75; }
.mbf-co .mbf-countdown__unit { flex-direction: row; align-items: baseline; gap: 1px; min-width: 0; padding: 1px 5px; border-radius: 4px; }
.mbf-co .mbf-countdown__unit b { font-size: 12px; }
.mbf-co .mbf-countdown__unit small { font-size: 0; }
.mbf-co .mbf-countdown__unit small::after { content: attr(data-short); font-size: 10px; opacity: .8; }
.mbf-co__code {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.mbf-co__code strong { letter-spacing: .05em; }
.mbf-co__apply {
	padding: 6px 14px;
	border: 0;
	border-radius: 6px;
	background: var(--mbf-green);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.mbf-co__apply:hover { background: var(--mbf-green-dark); }
.mbf-co__apply:disabled { opacity: .6; cursor: wait; }
.mbf-co .mbf-gift-picker {
	margin: 10px 0 0;
	padding: 10px 0 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
	border-radius: 0;
	background: none;
	color: rgba(255, 255, 255, .9);
	font-size: 12px;
	font-weight: 500;
}
.mbf-co .mbf-gift-picker p { margin: 0 0 8px; }
.mbf-co .mbf-gift-options { gap: 8px; }
.mbf-co .mbf-gift-option { gap: 8px; padding: 4px 10px 4px 4px; border-width: 1px; font-size: 12px; }
.mbf-co .mbf-gift-option img { width: 32px; height: 32px; }

/* ── Free gift ────────────────────────────────────────────────────────── */

.mbf-gift-badge,
.mbf-gift-free {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--mbf-green);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	vertical-align: middle;
}
.mbf-gift-picker {
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 2px solid var(--mbf-green);
	border-radius: 10px;
	background: #f3faf3;
}
.mbf-gift-picker--nudge { border-style: dashed; font-weight: 600; }
.mbf-gift-options { display: flex; flex-wrap: wrap; gap: 12px; }
.mbf-gift-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px 8px 8px;
	border: 2px solid var(--mbf-line);
	border-radius: 8px;
	background: #fff;
	color: var(--mbf-ink) !important;
	text-decoration: none !important;
	font-weight: 600;
}
.mbf-gift-option img { width: 48px; height: 48px; object-fit: contain; }
.mbf-gift-option.is-selected { border-color: var(--mbf-green); box-shadow: 0 0 0 2px var(--mbf-green); }

/* ── Forms (early access + wheel) ─────────────────────────────────────── */

.mbf-form { max-width: 560px; margin: 0 auto; color: var(--mbf-ink); }
.mbf-form__intro { font-size: 18px; font-weight: 600; }
.mbf-form .mbf-countdown { margin: 0 0 20px; }
.mbf-field { display: block; margin: 0 0 14px; }
.mbf-field span { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 600; }
.mbf-field input,
.mbf-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--mbf-line);
	border-radius: 8px;
	font-size: 16px;
}
.mbf-field input:focus,
.mbf-input:focus { border-color: var(--mbf-blue); outline: none; box-shadow: 0 0 0 3px rgba(64, 136, 194, .2); }
.mbf-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 16px; font-size: 14px; cursor: pointer; }
.mbf-check input { margin-top: 3px; }
.mbf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.mbf-btn {
	display: inline-block;
	padding: 12px 26px;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--mbf-green) 0%, var(--mbf-green-dark) 100%);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}
.mbf-btn:disabled { opacity: .6; cursor: wait; }
.mbf-link { border: 0; background: none; color: var(--mbf-muted); font-size: 14px; text-decoration: underline; cursor: pointer; }
.mbf-form__msg { margin: 12px 0 0; font-weight: 600; }
.mbf-form--done { padding: 20px; border-radius: 10px; background: #f3faf3; }
.mbf-note { padding: 14px 18px; border-radius: 8px; background: #f1f3f5; }

@keyframes mbf-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ── Landing pages: spin the wheel and early access ───────────────────── */

/* The section carries its own headline, so the page's default title goes. */
#brx-content:has(> .mbf-landing) > h1 { display: none; }

.mbf-landing {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: stretch;
	gap: 28px;
	max-width: 1180px;
	margin: 40px auto 80px;
	color: var(--mbf-ink);
	font-family: inherit;
}

/* Left: what you can win, with the wheel in view from the start */
.mbf-wheel__intro {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 40px 40px 36px;
	border-radius: 20px;
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(90, 160, 214, .35) 0%, rgba(90, 160, 214, 0) 60%),
		linear-gradient(160deg, #1e3a5f 0%, #234a78 55%, #2d6da8 100%);
	color: #fff;
}
.mbf-wheel__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.mbf-wheel__eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #7ed37b;
	box-shadow: 0 0 0 3px rgba(126, 211, 123, .25);
}
.mbf-wheel__eyebrow--soft { background: #eaf4ea; color: var(--mbf-green-dark); }
.mbf-wheel__eyebrow--soft::before { background: var(--mbf-green); box-shadow: 0 0 0 3px rgba(72, 144, 70, .2); }
.mbf-wheel__title {
	margin: 16px 0 10px;
	color: #fff;
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.01em;
}
.mbf-wheel__lead {
	max-width: 440px;
	margin: 0 0 26px;
	color: rgba(255, 255, 255, .82);
	font-size: 16px;
	line-height: 1.55;
}
.mbf-wheel-stage {
	position: relative;
	align-self: center;
	width: min(360px, 100%);
	margin: 6px auto 28px;
}
.mbf-wheel-stage canvas {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 50%;
	box-shadow: 0 18px 40px rgba(8, 22, 40, .45), 0 0 0 8px rgba(255, 255, 255, .08);
	transition: transform 4.2s cubic-bezier(.17, .67, .16, 1);
}
.mbf-wheel-pointer {
	position: absolute;
	top: -10px;
	left: 50%;
	z-index: 2;
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 28px solid #fff;
	transform: translateX(-50%);
	filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .35));
}
.mbf-wheel-pointer::after {
	content: "";
	position: absolute;
	top: -24px;
	left: -6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mbf-red);
}
.mbf-wheel__points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: rgba(255, 255, 255, .9);
}
.mbf-wheel__points li { display: flex; align-items: center; gap: 8px; margin: 0; }
.mbf-wheel__points li::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(126, 211, 123, .2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.9' fill='none' stroke='%237ed37b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* Right: the questions, one at a time */
.mbf-wheel__panel {
	display: flex;
	flex-direction: column;
	padding: 36px 40px;
	border: 1px solid #e2e8ef;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(30, 58, 95, .08);
}
.mbf-landing .mbf-form { max-width: none; margin: 0; display: flex; flex-direction: column; flex: 1; }

.mbf-wheel-progress { margin: 0 0 32px; }
.mbf-wheel-progress__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.mbf-wheel-progress__count { color: var(--mbf-muted); font-size: 13px; font-weight: 600; }
.mbf-wheel-progress__bar { display: block; height: 6px; border-radius: 999px; background: #edf1f6; overflow: hidden; }
.mbf-wheel-progress__bar i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--mbf-blue), var(--mbf-green));
	transition: width .35s ease;
}

/* The question sits in the middle of the card, with its buttons right under it */
.mbf-step {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	animation: mbf-in .3s ease;
}
.mbf-step legend {
	float: left;
	width: 100%;
	margin: 0 0 22px;
	padding: 0;
	color: #20201f;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
}
.mbf-step legend + * { clear: left; }
.mbf-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.mbf-choice { position: relative; display: flex; margin: 0; }
.mbf-choice input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.mbf-choice span {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 12px 16px;
	border: 1.5px solid #d3dce9;
	border-radius: 12px;
	background: #fff;
	color: #20201f;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.mbf-choice:hover span { border-color: var(--mbf-blue); background: #f5f9fd; }
.mbf-choice kbd {
	flex: none;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border: 1px solid #c9d6e6;
	border-radius: 6px;
	background: #f5f7fa;
	color: var(--mbf-navy);
	font: 700 12px/24px system-ui, sans-serif;
	text-align: center;
}
.mbf-choice input:checked + span {
	border-color: var(--mbf-blue);
	background: #eef5fc;
	box-shadow: 0 0 0 3px rgba(64, 136, 194, .15);
}
.mbf-choice input:checked + span kbd { border-color: var(--mbf-blue); background: var(--mbf-blue); color: #fff; }
.mbf-choice input:focus-visible + span { box-shadow: 0 0 0 3px rgba(64, 136, 194, .35); }
.mbf-choice--check kbd { color: transparent; }
.mbf-choice--check input:checked + span kbd { color: #fff; }
.mbf-choice--check { max-width: 420px; }

.mbf-landing .mbf-input,
.mbf-landing .mbf-field input {
	height: 54px;
	padding: 0 16px;
	border: 1.5px solid #d3dce9;
	border-radius: 12px;
	background: #fff;
	font-size: 16px;
}
.mbf-landing .mbf-input:focus,
.mbf-landing .mbf-field input:focus { border-color: var(--mbf-blue); box-shadow: 0 0 0 3px rgba(64, 136, 194, .18); }
.mbf-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mbf-landing .mbf-field { margin: 0 0 16px; }
.mbf-landing .mbf-field span { margin-bottom: 6px; color: #20201f; font-size: 14px; }
.mbf-landing .mbf-check { margin: 4px 0 0; color: #4a4f55; }

.mbf-step__nav {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 32px;
}
.mbf-step__nav-end { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.mbf-landing .mbf-btn {
	min-width: 112px;
	padding: 13px 28px;
	border-radius: 10px;
	background: var(--mbf-green);
	box-shadow: 0 6px 16px rgba(72, 144, 70, .25);
	font-size: 16px;
	transition: background .15s, transform .15s, box-shadow .15s;
}
.mbf-landing .mbf-btn:hover { background: var(--mbf-green-dark); transform: translateY(-1px); }
.mbf-landing .mbf-btn--lg { width: 100%; padding: 16px 28px; font-size: 18px; text-align: center; }
.mbf-landing .mbf-link { padding: 0; color: var(--mbf-muted); font-size: 15px; font-weight: 600; text-decoration: none; }
.mbf-landing .mbf-link:hover { color: var(--mbf-navy); }
.mbf-landing .mbf-form__msg { margin: 14px 0 0; color: #b42318; }

/* After the questions: spin in the same card, on the wheel at the left */
.mbf-wheel-game {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	flex: 1;
	gap: 18px;
	text-align: left;
}
.mbf-wheel-status { min-height: 1.4em; margin: 0; color: #20201f; font-size: 24px; font-weight: 700; line-height: 1.3; }
.mbf-wheel-result {
	width: 100%;
	padding: 20px;
	border: 1px solid #cfe6cf;
	border-radius: 14px;
	background: #f3faf3;
	color: #20201f;
	font-size: 16px;
}
.mbf-wheel-result p { margin: 0 0 12px; font-weight: 600; }
.mbf-wheel-result .mbf-code {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border: 1.5px dashed var(--mbf-green);
	border-radius: 10px;
	background: #fff;
	color: var(--mbf-navy);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .04em;
	cursor: pointer;
}

@media (max-width: 960px) {
	.mbf-landing { grid-template-columns: 1fr; gap: 20px; margin: 24px auto 56px; }
	.mbf-wheel__intro { padding: 32px 28px 28px; }
	.mbf-wheel__panel { padding: 28px; }
}
@media (max-width: 600px) {
	.mbf-landing { margin: 16px auto 40px; }
	.mbf-wheel__intro { padding: 26px 20px 22px; border-radius: 16px; }
	.mbf-wheel__panel { padding: 24px 20px; border-radius: 16px; }
	.mbf-wheel__lead { font-size: 15px; margin-bottom: 18px; }
	/* Keep the first question close: a smaller wheel, no feature list */
	.mbf-wheel-stage { width: min(230px, 100%); margin: 0 auto 4px; }
	.mbf-wheel__points { display: none; }
	.mbf-step { justify-content: flex-start; }
	.mbf-step legend { font-size: 21px; }
	.mbf-choices { grid-template-columns: 1fr; }
	.mbf-field-row { grid-template-columns: 1fr; gap: 0; }
	.mbf-landing .mbf-btn { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.mbf-wheel-stage canvas { transition-duration: 1s; }
	.mbf-step { animation: none; }
}

@media (max-width: 600px) {
	.mbf-banner { font-size: 13px; padding: 8px 12px; }
	.mbf-countdown__unit { min-width: 34px; padding: 2px 4px; }
}

/* Early access landing */
.mbf-early__countdown { margin: 0 0 24px; }
.mbf-early .mbf-countdown { flex-wrap: wrap; gap: 8px; font-size: 18px; }
.mbf-early .mbf-countdown__label { width: 100%; margin: 0 0 4px; font-size: 13px; font-weight: 600; opacity: .8; }
.mbf-early .mbf-countdown__unit { min-width: 62px; padding: 8px 6px; border-radius: 10px; background: rgba(255, 255, 255, .12); }
.mbf-early .mbf-countdown__unit b { font-size: 26px; }
.mbf-early .mbf-wheel__panel { justify-content: center; }
.mbf-early__state { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.mbf-early__headline { margin: 0; color: #20201f; font-size: 26px; font-weight: 700; line-height: 1.25; }
.mbf-early__sub { margin: 8px 0 24px; color: var(--mbf-muted); font-size: 15px; }
.mbf-early .mbf-field em { color: var(--mbf-muted); font-style: normal; font-weight: 500; }
.mbf-early .mbf-check { margin: 4px 0 20px; }
.mbf-early .mbf-form--done { padding: 0; background: none; }
.mbf-landing a.mbf-btn { text-align: center; text-decoration: none; color: #fff; }

@media (max-width: 600px) {
	/* Phones: keep the bar short */
	/* Phones: plain running text, the countdown following the code */
	.mbf-banner { display: block; padding: 7px 12px; font-size: 12.5px; line-height: 1.45; }
	.mbf-banner__tag { display: none; }
	.mbf-banner .mbf-code__copy { display: none; }
	.mbf-banner .mbf-countdown { gap: 3px; margin-left: 8px; font-size: 12px; vertical-align: baseline; }
	.mbf-banner .mbf-countdown__unit small::after { font-size: 12px; }
	.mbf-deal { padding: 14px; }
	.mbf-cart-strip { padding: 14px; }
	.mbf-cart-strip__main .mbf-countdown { margin-left: 0; }
	.mbf-early .mbf-countdown__unit { min-width: 54px; }
	.mbf-early .mbf-countdown__unit b { font-size: 22px; }
	.mbf-early__headline { font-size: 22px; }
}

/* ── The sticky wheel and its popup ──────────────────────────────────────── */

.mbf-spin-tab {
	position: fixed;
	top: calc(50% + 37px); /* 14px under Book a Callback, which is centred on the screen */
	right: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 9px 12px 9px 9px;
	border: 0;
	border-radius: 999px 0 0 999px;
	background: #1e3a5f;
	box-shadow: 0 8px 24px rgba(30, 58, 95, .35);
	color: #fff;
	font: inherit;
	line-height: 1.15;
	text-align: left;
	cursor: pointer;
	transition: padding .15s ease;
}
.mbf-spin-tab[hidden] { display: none; }
.mbf-spin-tab:hover { padding-right: 20px; }
.mbf-spin-tab:focus-visible { outline: 3px solid #5aa0d6; outline-offset: 2px; }
.mbf-spin-tab__wheel {
	flex: none;
	width: 46px;
	height: 46px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: conic-gradient(#489046 0 60deg, #5aa0d6 0 120deg, #2d6da8 0 180deg, #489046 0 240deg, #5aa0d6 0 300deg, #2d6da8 0);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .2);
	animation: mbf-tab-spin 7s linear infinite;
}
.mbf-spin-tab:hover .mbf-spin-tab__wheel { animation-duration: 1.4s; }
.mbf-spin-tab__text { display: flex; flex-direction: column; gap: 2px; }
.mbf-spin-tab__text strong { font-size: 14px; font-weight: 700; }
.mbf-spin-tab__text small { color: #bcd6ee; font-size: 12px; }
@keyframes mbf-tab-spin { to { transform: rotate(360deg); } }

.mbf-spin-dialog {
	width: min(980px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	padding: 0;
	overflow: auto;
	border: 0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .35);
}
.mbf-spin-dialog::backdrop { background: rgba(10, 20, 35, .65); }
.mbf-spin-dialog__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	min-width: 0;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #eef2f7;
	color: #1e3a5f;
	line-height: 0;
	cursor: pointer;
}
.mbf-spin-dialog__close:hover { background: #dbe5f0; }
.mbf-spin-dialog .mbf-landing { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 0; min-height: 520px; margin: 0; max-width: none; }
.mbf-spin-dialog .mbf-wheel__intro { padding: 28px; border-radius: 0; }
.mbf-spin-dialog .mbf-wheel__title { font-size: 28px; }
.mbf-spin-dialog .mbf-wheel__lead { font-size: 14px; }
.mbf-spin-dialog .mbf-wheel__points { display: none; }
.mbf-spin-dialog .mbf-wheel-stage { width: min(100%, 300px); max-width: 300px; margin-inline: auto; }
.mbf-spin-dialog .mbf-wheel__panel { padding: 64px 28px 24px; border: 0; border-radius: 0; box-shadow: none; }
.mbf-spin-dialog .mbf-step legend { margin-bottom: 16px; font-size: 22px; }
.mbf-spin-dialog .mbf-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mbf-spin-dialog .mbf-choice span { min-height: 52px; padding: 8px 12px; font-size: 15px; line-height: 1.25; }
.mbf-spin-dialog .mbf-step__nav { min-height: 24px; margin-top: 20px; }
.mbf-spin-dialog .mbf-wheel-progress { margin-bottom: 20px; }

@media (max-width: 780px) {
	.mbf-spin-dialog .mbf-landing { display: block; min-height: 0; }
	.mbf-spin-dialog .mbf-wheel__intro { display: block; padding: 16px 52px 14px 18px; }
	.mbf-spin-dialog .mbf-wheel__eyebrow,
	.mbf-spin-dialog .mbf-wheel__lead { display: none; }
	.mbf-spin-dialog .mbf-wheel__title { margin: 0; font-size: 20px; }
	.mbf-spin-dialog .mbf-wheel-stage { width: 170px; margin: 10px auto 0; }
	.mbf-spin-dialog .mbf-wheel__panel { padding: 16px 18px 18px; }
	.mbf-spin-dialog__close { top: 10px; right: 10px; background: rgba(255, 255, 255, .9); }
	.mbf-spin-dialog .mbf-step legend { font-size: 19px; }
	.mbf-spin-dialog .mbf-choices { grid-template-columns: 1fr 1fr; }
	.mbf-spin-dialog .mbf-field-row { grid-template-columns: 1fr; gap: 0; }
	.mbf-spin-tab { top: auto; bottom: 104px; padding: 6px; border-radius: 999px 0 0 999px; }
	.mbf-spin-tab__wheel { width: 40px; height: 40px; }
	.mbf-spin-tab__text { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.mbf-spin-tab__wheel, .mbf-spin-tab:hover .mbf-spin-tab__wheel { animation: none; }
}

/* The prize, in view from the first spin until it is claimed */
.mbf-wheel-prize {
	margin: 0 0 18px;
	padding: 14px 18px;
	border: 1px solid #cfe6cf;
	border-radius: 14px;
	background: #f3faf3;
}
.mbf-wheel-prize__won { margin: 0; color: var(--mbf-green-dark); font-size: 22px; font-weight: 700; line-height: 1.25; }
.mbf-wheel-prize__note { margin: 2px 0 0; color: #4a4f55; font-size: 14px; }
.mbf-wheel-prize__note:empty { display: none; }
.mbf-wheel__panel > .mbf-wheel-game { margin: auto 0; }
.mbf-wheel-error:empty { display: none; }
.mbf-landing .mbf-btn.mbf-btn--ghost {
	width: 100%;
	margin-top: 14px;
	padding: 12px 20px;
	border: 1.5px solid var(--mbf-green);
	background: #fff;
	box-shadow: none;
	color: var(--mbf-green-dark);
	text-align: center;
	transform: none;
}
.mbf-landing .mbf-btn.mbf-btn--ghost:hover { background: #f3faf3; color: var(--mbf-green-dark); }
.mbf-wheel-spin:disabled { opacity: .6; cursor: wait; }
.mbf-spin-dialog .mbf-wheel__panel { padding-bottom: 28px; }
.mbf-spin-dialog .mbf-wheel-prize__won { font-size: 20px; }
.mbf-spin-dialog .mbf-wheel-status { font-size: 22px; }
/* Popup: prize, progress and question sit together at the top, no big gaps */
.mbf-spin-dialog .mbf-wheel__title { margin-top: 4px; margin-bottom: 20px; }
.mbf-spin-dialog .mbf-wheel-prize { margin-bottom: 20px; }
.mbf-spin-dialog .mbf-step { justify-content: flex-start; }
.mbf-spin-dialog .mbf-wheel-progress { margin-bottom: 24px; }

/* "30% ends in" stays on one line. */
.mbf-countdown__label { white-space: nowrap; }

/* ── Product page: one price story, not five ──────────────────────────────
   "£X with code" shows once, under the main price (and on product cards).
   The option boxes, the basket-side price and the sticky bar keep just the
   price, like PrettyLittleThing does. */
.support-price .mbf-code-price,
.variable-item-radio-value-wrapper .mbf-code-price,
.woocommerce-variation-price .mbf-code-price,
.maverick-sticky-atc__price .mbf-code-price { display: none; }

.custom-variation-price .mbf-code-price,
.summary .price > .mbf-code-price,
.products .mbf-code-price {
	margin-top: 4px;
	padding: 0;
	background: none;
	color: #c62828;
	font-size: 16px;
	font-weight: 500;
}
.custom-variation-price .mbf-code-price .woocommerce-Price-amount,
.custom-variation-price .mbf-code-price strong { color: inherit; font-weight: 700; }

.mbf-deal--slim {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin-bottom: 16px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: #1a2333;
	box-shadow: none;
	font-size: 14px;
}
.mbf-deal--slim::after { display: none; }
/* Plain text, the way the reference sites do it: the offer in red, the time in grey */
.mbf-deal--slim .mbf-deal__badge { padding: 0; border-radius: 0; background: none; color: #c62828; font-size: 14px; font-weight: 800; letter-spacing: .04em; }
.mbf-deal--slim .mbf-countdown { gap: 4px; color: #4a4f55; font-size: 14px; }
.mbf-deal--slim .mbf-countdown__label { margin-right: 2px; opacity: 1; color: inherit; font-size: 14px; font-weight: 500; }
.mbf-deal--slim .mbf-countdown__unit,
.mbf-deal--slim .mbf-countdown.is-urgent .mbf-countdown__unit { flex-direction: row; align-items: baseline; min-width: 0; padding: 0; border-radius: 0; background: none; color: inherit; }
.mbf-deal--slim .mbf-countdown__unit b { font-size: inherit; font-weight: 600; line-height: inherit; }
.mbf-deal--slim .mbf-countdown__unit small { font-size: 0; }
.mbf-deal--slim .mbf-countdown__unit small::after { content: attr(data-short); font-size: 14px; text-transform: lowercase; opacity: 1; }
.mbf-deal--slim [hidden] { display: none !important; }

.products .mbf-code-price { font-size: 13px; }
.products .mbf-code-price .woocommerce-Price-amount,
.products .mbf-code-price strong { color: inherit; font-weight: 700; }

/* ── Live bar: three parts (the sale, the code, the way in) ──────────────
   Black, brand blue, black, as in the client's mock-up. */
.mbf-banner--split {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	padding: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
}
.mbf-banner__part {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 6px;
	min-width: 0;
	padding: 16px 14px;
	pointer-events: none;
}
.mbf-banner__part--code { background: #4088c2; }
.mbf-banner--split .mbf-banner__tag { font-weight: 400; letter-spacing: 0; text-transform: none; }
.mbf-banner__sep { margin: 0 2px; }
.mbf-banner--split .mbf-banner__hl { font-weight: 800; }
.mbf-banner--split .mbf-code { font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.mbf-banner--split .mbf-code__copy { display: none; }
.mbf-banner--split .mbf-code.is-copied .mbf-code__copy { display: inline; text-decoration: none; opacity: .85; }
.mbf-banner__part--shop { font-weight: 800; text-transform: uppercase; }
.mbf-banner__part--shop { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.mbf-banner--split .mbf-banner__link:hover ~ .mbf-banner__part--shop { opacity: .85; }

@media (max-width: 1180px) {
	.mbf-banner--split { font-size: 15px; }
	.mbf-banner__part { padding: 13px 10px; }
}
/* Phones: the sale and the code side by side; the whole bar is the link */
@media (max-width: 700px) {
	.mbf-banner--split { display: grid; grid-template-columns: 1fr 1fr; font-size: 12px; line-height: 1.35; }
	.mbf-banner__part { padding: 7px 8px; text-align: center; }
	.mbf-banner--split .mbf-banner__tag { display: inline; }
	.mbf-banner__part--shop { display: none; }
}

/* ── Header and home page while the sale is live ─────────────────────── */
body.mbf-takeover #brxe-hdzxqd { background: #e3eff9; }
body.mbf-takeover #brxe-hdzxqd,
body.mbf-takeover #brxe-hdzxqd a,
body.mbf-takeover #brxe-hdzxqd .icon-box-heading,
body.mbf-takeover #brxe-hdzxqd .content,
body.mbf-takeover #brxe-hdzxqd p { color: #1f5f99; }
body.mbf-takeover #brxe-hdzxqd svg path { fill: #1f5f99; }
body.mbf-takeover #brxe-llsleo { position: relative; }
.mbf-terms {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #1f5f99;
	font-size: 13px;
	white-space: nowrap;
	text-decoration: none;
}
a.mbf-terms:hover { text-decoration: underline; }
@media (max-width: 991px) {
	.mbf-terms { position: static; transform: none; width: 100%; text-align: center; font-size: 11px; }
	body.mbf-takeover #brxe-llsleo { flex-wrap: wrap; row-gap: 2px; }
}

/* The menu link, in the sale's red */
.brxe-text-link.mbf-nav-link,
.brxe-text-link.mbf-nav-link:hover { color: #c62828 !important; }

/* Stats strips: 99%, 4.9★, 10,000+, then the two sale links */
body.mbf-takeover #brxe-136072,
body.mbf-takeover #brxe-3b43ae { order: 2; }
body.mbf-takeover #brxe-e38e87,
body.mbf-takeover #brxe-fbcdfa { order: 3; }
body.mbf-takeover #brxe-mbfoffers,
body.mbf-takeover #brxe-mbfoffers2 { order: 4; }
body.mbf-takeover #brxe-mbfdeals,
body.mbf-takeover #brxe-mbfdeals2 { order: 5; }
a.mbf-stat { color: inherit; text-decoration: none; }
a.mbf-stat:hover .stats__text-basic { text-decoration: underline; }

/* One more menu link: tighten the menu a little so it stays on one line */
@media (min-width: 992px) {
	body.mbf-takeover #brxe-baqiho { flex-wrap: nowrap; column-gap: clamp(12px, 1.35vw, 26px); }
	/* Top-level links only: the drop-down lists keep the theme's size and wrapping */
	body.mbf-takeover #brxe-baqiho > li > .nav-header__nav-link,
	body.mbf-takeover #brxe-baqiho > li > .brx-submenu-toggle > a { font-size: clamp(13px, 1vw, 15px); white-space: nowrap; }
}
/* On the blue strip the icons are white line drawings, like the rest of it */
#brxe-7756d8 .mbf-stat svg,
#brxe-7756d8 .mbf-stat svg * { fill: none !important; stroke: #fff; }

/* Smaller bar, its three parts inside the site's 1300px container
   (same edges as the logo and the cart below it) */
.mbf-banner--split {
	padding: 0 max(20px, calc((100% - 1260px) / 2));
	font-size: 15px;
}
.mbf-banner--split .mbf-banner__part { padding: 10px 12px; }
.mbf-banner--split .mbf-banner__part--sale { justify-content: flex-start; padding-left: 0; }
.mbf-banner--split .mbf-banner__part--shop { justify-content: flex-end; padding-right: 0; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
@media (max-width: 1180px) {
	.mbf-banner--split { font-size: 13.5px; }
	.mbf-banner--split .mbf-banner__part { padding: 9px 10px; }
}
@media (max-width: 700px) {
	.mbf-banner--split { padding: 0; font-size: 11.5px; }
	.mbf-banner--split .mbf-banner__part { padding: 6px 8px; }
	.mbf-banner--split .mbf-banner__part--sale { justify-content: center; padding-left: 8px; }
}

/* Tablets and small laptops: the sale and the link take what they need on one
   line, the blue code part takes the rest; below 900px the link goes (the
   whole bar is a link anyway). */
@media (min-width: 701px) and (max-width: 1180px) {
	.mbf-banner--split { grid-template-columns: max-content minmax(0, 1fr) max-content; }
	.mbf-banner--split .mbf-banner__part--sale,
	.mbf-banner--split .mbf-banner__part--shop { flex-wrap: nowrap; white-space: nowrap; }
}
@media (min-width: 701px) and (max-width: 900px) {
	.mbf-banner--split { grid-template-columns: max-content minmax(0, 1fr); padding-right: 0; }
	.mbf-banner--split .mbf-banner__part--shop { display: none; }
}

/* Code price: "Extra 5% off with BF26 £594.23" on one line when it fits;
   only where it doesn't (a phone, a product card) does the price move under it.
   Each part keeps itself together. */
.mbf-code-price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; row-gap: 0; }
.mbf-code-price > span { display: inline; white-space: nowrap; }
.mbf-code-price > span + span { font-weight: 800; }

/* ── Wheel: tap to spin, decline, small print ─────────────────────────── */
.mbf-wheel-progress__bar i { background: var(--mbf-blue); }
.mbf-wheel-stage canvas { cursor: pointer; }
.mbf-wheel.is-spinning .mbf-wheel-stage canvas,
.mbf-wheel.is-won .mbf-wheel-stage canvas { cursor: default; }
.mbf-wheel__intro .mbf-wheel__lead { margin: 0 0 18px; }
.mbf-wheel-decline {
	padding: 0;
	border: 0;
	background: none;
	color: var(--mbf-muted);
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.mbf-wheel-decline:hover { color: var(--mbf-navy); }
.mbf-wheel-small {
	margin: 20px 0 0;
	padding-top: 14px;
	border-top: 1px solid #edf1f6;
	color: var(--mbf-muted);
	font-size: 12px;
	line-height: 1.5;
}
.mbf-wheel-small a { color: inherit; text-decoration: underline; }
.mbf-wheel-result__note { margin: 12px 0 0 !important; color: #4a4f55; font-size: 14px; font-weight: 400 !important; }
@media (max-width: 780px) {
	.mbf-spin-dialog .mbf-wheel__lead { display: block; margin: 4px 0 0; font-size: 13px; }
	.mbf-wheel-small { margin-top: 14px; padding-top: 10px; }
	.mbf-spin-dialog .mbf-wheel-game { gap: 12px; }
}

/* ── Early access popup ───────────────────────────────────────────────────
   Photo on the left cut by Maverick's slanted blue bars, the offer on the
   Black Friday black of the top bar. */
.mbf-ea {
	width: min(880px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	background: #000;
	color: #fff;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
.mbf-ea[open] { display: grid; grid-template-columns: 380px minmax(0, 1fr); animation: mbf-ea-in .45s cubic-bezier(.2, .8, .2, 1); }
.mbf-ea::backdrop { background: rgba(6, 12, 22, .72); }
@keyframes mbf-ea-in { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
.mbf-ea [hidden] { display: none !important; }

.mbf-ea__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	min-width: 0;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	line-height: 0;
	cursor: pointer;
}
.mbf-ea__close:hover { background: rgba(255, 255, 255, .22); }

/* Photo, with two slanted bars down its right edge */
.mbf-ea__photo { position: relative; min-height: 100%; overflow: hidden; background: #0d1b2c; }
.mbf-ea__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 62% 30%; }
.mbf-ea__photo::before,
.mbf-ea__photo::after {
	content: "";
	position: absolute;
	top: -10%;
	bottom: -10%;
	transform: skewX(-14deg);
	transform-origin: top;
}
.mbf-ea__photo::before { right: -10px; width: 46px; background: #000; }
.mbf-ea__photo::after { right: 44px; width: 14px; background: var(--mbf-blue); }

/* "Early access / 16 November", a slanted blue tag on the photo */
.mbf-ea__date {
	position: absolute;
	left: 22px;
	bottom: 24px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	padding: 9px 18px 10px;
	background: var(--mbf-blue);
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.01em;
	transform: skewX(-10deg);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
}
.mbf-ea__date > * , .mbf-ea__date { font-style: normal; }
.mbf-ea__date small {
	margin-bottom: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .85;
}

/* The offer */
.mbf-ea__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-height: calc(100dvh - 32px);
	padding: 52px 48px 30px 40px;
	overflow-y: auto;
}
.mbf-ea .mbf-ea__title {
	margin: 0 0 16px;
	color: #fff;
	font-size: clamp(30px, 3.4vw, 40px);
	font-weight: 900;
	line-height: .98;
	letter-spacing: -.015em;
	text-transform: uppercase;
	text-wrap: balance;
}
.mbf-ea__sub { margin: 0 0 12px; color: #fff; font-size: 16.5px; font-weight: 600; line-height: 1.45; }
.mbf-ea__text { margin: 0 0 24px; color: rgba(255, 255, 255, .64); font-size: 14.5px; line-height: 1.55; }

.mbf-ea__form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.mbf-ea .mbf-ea__input {
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 18px;
	border: 2px solid transparent;
	border-radius: 10px;
	background: #fff;
	color: #111827;
	font-size: 16px;
	box-shadow: none;
}
.mbf-ea .mbf-ea__input::placeholder { color: #6b7280; }
.mbf-ea .mbf-ea__input:focus { border-color: var(--mbf-blue); outline: none; box-shadow: 0 0 0 4px rgba(64, 136, 194, .35); }
.mbf-ea .mbf-ea__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: var(--mbf-blue);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s ease;
}
.mbf-ea .mbf-ea__btn:hover { background: #2f74ad; }
.mbf-ea .mbf-ea__btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.mbf-ea .mbf-ea__btn:disabled { opacity: .65; cursor: wait; }
.mbf-ea__msg { margin: 2px 0 0; color: #ff8a8a; font-size: 14px; }
.mbf-ea__msg:empty { display: none; }

.mbf-ea .mbf-ea__decline {
	align-self: center;
	margin: 14px 0 0;
	padding: 4px;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, .62);
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.mbf-ea .mbf-ea__decline:hover { color: #fff; }

.mbf-ea__done { padding: 20px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(64, 136, 194, .14); }
.mbf-ea__done-title { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; color: #fff; font-size: 22px; font-weight: 800; }
.mbf-ea__done-title::before {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--mbf-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.mbf-ea__done-text { margin: 0 0 16px; color: rgba(255, 255, 255, .78); font-size: 15px; line-height: 1.5; }
.mbf-ea .mbf-ea__keep { height: 48px; background: transparent; border: 1.5px solid rgba(255, 255, 255, .4); }
.mbf-ea .mbf-ea__keep:hover { background: rgba(255, 255, 255, .08); }

.mbf-ea__small {
	margin: auto 0 0;
	padding-top: 22px;
	color: rgba(255, 255, 255, .44);
	font-size: 11.5px;
	line-height: 1.55;
}
.mbf-ea__small a { color: rgba(255, 255, 255, .72); text-decoration: underline; text-underline-offset: 2px; }
.mbf-ea__small a:hover { color: #fff; }
.mbf-ea .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Phone: the photo becomes a band across the top */
@media (max-width: 720px) {
	.mbf-ea { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; border-radius: 16px; }
	.mbf-ea[open] { display: block; }
	.mbf-ea__photo { height: 200px; min-height: 0; }
	.mbf-ea__img { object-position: 60% 22%; }
	.mbf-ea__photo::before { inset: auto -10% -22px -10%; top: auto; width: auto; height: 34px; transform: skewY(-4deg); }
	.mbf-ea__photo::after { inset: auto -10% 10px -10%; top: auto; right: auto; width: auto; height: 8px; transform: skewY(-4deg); }
	.mbf-ea__date { left: 16px; bottom: 30px; padding: 7px 14px 8px; font-size: 18px; }
	.mbf-ea__date small { font-size: 10px; }
	.mbf-ea__close { top: 10px; right: 10px; background: rgba(0, 0, 0, .55); }
	.mbf-ea__body { max-height: none; padding: 16px 20px 22px; overflow: visible; }
	.mbf-ea .mbf-ea__title { margin-bottom: 12px; font-size: 27px; }
	.mbf-ea__sub { font-size: 15px; }
	.mbf-ea__text { margin-bottom: 18px; font-size: 13.5px; }
	.mbf-ea .mbf-ea__input, .mbf-ea .mbf-ea__btn { height: 50px; }
	.mbf-ea .mbf-ea__decline { margin-top: 10px; }
	.mbf-ea__small { padding-top: 16px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
	.mbf-ea[open] { animation: none; }
}

/* Early access popup, light: white card, navy type, the same blue bars */
.mbf-ea--light { background: #fff; color: #111827; box-shadow: 0 30px 80px rgba(6, 18, 34, .35); }
.mbf-ea--light::backdrop { background: rgba(10, 22, 40, .6); }
.mbf-ea--light .mbf-ea__photo::before { background: #fff; }
.mbf-ea--light .mbf-ea__close { background: #eef2f7; color: var(--mbf-navy); }
.mbf-ea--light .mbf-ea__close:hover { background: #dbe5f0; }
.mbf-ea--light .mbf-ea__title { color: var(--mbf-navy); }
.mbf-ea--light .mbf-ea__sub { color: #111827; }
.mbf-ea--light .mbf-ea__text { color: #4b5563; }
.mbf-ea--light .mbf-ea__input { border-color: #cfd8e3; background: #f7f9fc; }
.mbf-ea--light .mbf-ea__input:focus { background: #fff; box-shadow: 0 0 0 4px rgba(64, 136, 194, .2); }
.mbf-ea--light .mbf-ea__btn:focus-visible { outline-color: var(--mbf-navy); }
.mbf-ea--light .mbf-ea__msg { color: #b42318; }
.mbf-ea--light .mbf-ea__decline { color: #6b7280; }
.mbf-ea--light .mbf-ea__decline:hover { color: var(--mbf-navy); }
.mbf-ea--light .mbf-ea__done { border-color: #cfe0f0; background: #eef5fb; }
.mbf-ea--light .mbf-ea__done-title { color: var(--mbf-navy); }
.mbf-ea--light .mbf-ea__done-text { color: #374151; }
.mbf-ea--light .mbf-ea__keep { border-color: var(--mbf-blue); background: #fff; color: var(--mbf-blue); }
.mbf-ea--light .mbf-ea__keep:hover { background: #f3f8fc; }
.mbf-ea--light .mbf-ea__small { color: #8a94a3; }
.mbf-ea--light .mbf-ea__small a { color: #4b5563; }
.mbf-ea--light .mbf-ea__small a:hover { color: var(--mbf-navy); }
@media (max-width: 720px) {
	.mbf-ea--light .mbf-ea__close { background: rgba(255, 255, 255, .9); }
}

/* Early access popup: the intro and the form, stacked (side by side when wide) */
.mbf-ea__intro, .mbf-ea__act { display: flex; flex-direction: column; min-width: 0; }
.mbf-ea__act { flex: 1; }

/* A landscape photo: across the top in full, the offer centred below it */
.mbf-ea--wide .mbf-ea__photo::before,
.mbf-ea--wide .mbf-ea__photo::after { display: none; }
.mbf-ea--wide .mbf-ea__photo { border-bottom: 4px solid var(--mbf-blue); }
.mbf-ea--wide .mbf-ea__close { background: rgba(0, 0, 0, .5); color: #fff; }
.mbf-ea--wide .mbf-ea__close:hover { background: rgba(0, 0, 0, .7); }
.mbf-ea--wide .mbf-ea__body { text-align: center; }
.mbf-ea--wide .mbf-ea__intro, .mbf-ea--wide .mbf-ea__act { align-items: center; }
.mbf-ea--wide .mbf-ea__title { margin: 0 0 8px; text-wrap: balance; }
.mbf-ea--wide .mbf-ea__sub { margin: 0 0 22px; font-weight: 500; }
.mbf-ea--wide.mbf-ea--light .mbf-ea__sub { color: #4b5563; }
.mbf-ea--wide.mbf-ea--dark .mbf-ea__sub { color: rgba(255, 255, 255, .75); }
.mbf-ea--wide .mbf-ea__form, .mbf-ea--wide .mbf-ea__done { width: 100%; max-width: 600px; }
.mbf-ea--wide .mbf-ea__done { text-align: left; }
.mbf-ea--wide .mbf-ea__decline { margin-top: 12px; }
.mbf-ea--wide .mbf-ea__small { max-width: 520px; margin-top: 0; padding-top: 10px; }
.mbf-ea--wide .mbf-ea__small a { white-space: nowrap; }

@media (min-width: 721px) {
	.mbf-ea--wide { width: min(820px, calc(100vw - 32px)); overflow-y: auto; }
	.mbf-ea--wide[open] { display: block; }
	.mbf-ea--wide .mbf-ea__photo { height: clamp(220px, 40vh, 360px); min-height: 0; }
	.mbf-ea--wide .mbf-ea__img { object-position: 50% 32%; }
	.mbf-ea--wide .mbf-ea__date { left: 28px; bottom: 24px; }
	.mbf-ea--wide .mbf-ea__body { display: block; max-height: none; padding: 30px 48px 24px; overflow: visible; }
	.mbf-ea--wide .mbf-ea__title { font-size: 36px; }
	.mbf-ea--wide .mbf-ea__sub { font-size: 17px; }
	/* Name and email on one line, the button under them */
	.mbf-ea--wide .mbf-ea__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
	.mbf-ea--wide .mbf-ea__form .mbf-ea__btn { grid-column: 1 / -1; width: 100%; padding: 0 28px; white-space: nowrap; }
	.mbf-ea--wide .mbf-ea__msg { grid-column: 1 / -1; text-align: left; }
}

/* The overlay behind it: dimmed and blurred, like the Book a callback popup */
.mbf-ea::backdrop,
.mbf-ea--light::backdrop {
	background: rgba(10, 20, 40, .55);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.mbf-ea--wide .mbf-ea__input { text-align: left; }
.mbf-ea--wide .mbf-ea__sub { text-wrap: balance; }
/* The photo tag is one line now: "Early access is now open" */
.mbf-ea__date { font-size: 18px; padding: 10px 18px; }
@media (max-width: 720px) { .mbf-ea__date { font-size: 15px; padding: 7px 13px; bottom: 26px; } }

/* Home hero during the sale: everything about a fifth bigger
   (trust line, heading, line and button), phone to desktop */
body.mbf-takeover #brxe-5813ec { font-size: clamp(13px, .56vw + 10.8px, 19px); }
body.mbf-takeover #brxe-b072d7 { width: auto; height: clamp(16px, .2vw + 15px, 18px); }
body.mbf-takeover #brxe-8810b8 { font-size: clamp(38px, 2.9vw + 26px, 64px); line-height: 1.08; }
body.mbf-takeover #brxe-7d2605 { font-size: clamp(20px, .85vw + 17px, 29px); }
body.mbf-takeover #brxe-dda8f3 { font-size: clamp(18px, .3vw + 17px, 21px); padding: .85em 1.75em; }

/* Help desk pricing box: the Dealer Tool Support yearly deal. */
.mbf-hd-badge { display: block; margin-top: 6px; color: #d42027; font-size: 13px; font-weight: 700; line-height: 1.3; }
.mbf-hd-badge[hidden], .mbf-hd-note[hidden] { display: none; }
.help-desk-pricing__final-price-text .total-price del { color: #8a94a6; font-weight: 500; font-size: .6em; margin-right: 4px; }
.help-desk-pricing__final-price-text .total-price ins { text-decoration: none; color: #d42027; }
.mbf-hd-note { margin: 8px 0 0; color: #d42027; font-size: 14px; font-weight: 600; line-height: 1.4; }

/* Product page: "£X with code BF26" under the theme's price. */
.mbf-code-line { margin: 6px 0 0; color: #d42027; font-size: 17px; font-weight: 500; }
.mbf-code-line strong { letter-spacing: .03em; }

/* Cart: "Continue with DTS" / "Continue without DTS" in place of Proceed to Checkout. */
.mbf-dts-replaced { display: none !important; }
.mbf-dts-choice { display: grid; gap: 10px; margin-top: 8px; }
.mbf-dts-choice[hidden] { display: none; }
.mbf-dts-choice__btn { display: block; padding: 15px 18px; border-radius: 10px; background: #1c2a3e; color: #fff !important; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none !important; transition: background .15s; }
.mbf-dts-choice__btn:hover { background: #2b3f5c; }
.mbf-dts-choice__btn--with { background: #3f8fd8; }
.mbf-dts-choice__btn--with:hover { background: #2f7cc4; }
.mbf-dts-choice__more { border: 1px solid #d3dce5; border-radius: 10px; background: #fff; font-size: 14px; color: #273242; }
.mbf-dts-choice__more summary { cursor: pointer; padding: 12px 14px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.mbf-dts-choice__more summary::-webkit-details-marker { display: none; }
.mbf-dts-choice__more summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 4px 0 12px; transition: transform .15s; flex: none; }
.mbf-dts-choice__more[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.mbf-dts-choice__more > :not(summary) { margin: 0 14px 10px; }
.mbf-dts-choice__more ul { padding-left: 18px; }
.mbf-dts-choice__more li { margin: 3px 0; }
.mbf-dts-choice__price del { color: #6b7280; }
.mbf-dts-choice__price a { display: block; margin-top: 6px; color: #3f8fd8; }

/* Checkout "Recurring totals": the DTS discount is first year only, so its renewal row was an empty line with a [Remove] link. */
tr.recurring-total.coupon-mbf-dts-extra { display: none; }

/* Checkout "Your Cart": the Black Friday box as plain lines, no background. */
.mbf-co { overflow: visible; padding: 0; border-radius: 0; background: none; color: #273242; font-size: 14px; }
.mbf-co::after { content: none; }
.mbf-co__top { justify-content: flex-start; gap: 10px; }
.mbf-co .mbf-deal__badge { padding: 0; border-radius: 0; background: none; color: #d42027; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.mbf-co .mbf-countdown, .mbf-co .mbf-countdown__label { color: #6b7280; font-size: 14px; font-weight: 400; opacity: 1; }
.mbf-co .mbf-countdown__unit, .mbf-co .mbf-countdown.is-urgent .mbf-countdown__unit { padding: 0; background: none; color: inherit; }
.mbf-co .mbf-countdown__unit b { font-size: 14px; font-weight: 600; color: #273242; }
.mbf-co .mbf-countdown__unit small::after { font-size: 14px; opacity: 1; text-transform: lowercase; }
.mbf-co .mbf-countdown__unit + .mbf-countdown__unit { margin-left: 3px; }
.mbf-co__code { margin-top: 6px; padding-top: 0; border-top: 0; }
.mbf-co .mbf-cart-strip__applied { color: #2e7d32; }
.mbf-co .mbf-gift-picker { margin-top: 6px; padding: 0; border-top: 0; color: #4b5563; font-size: 13px; font-weight: 400; }
.mbf-co .mbf-gift-option { color: #273242; }
