/*
 * Order ahead (Claude Design "Website/Order Ahead.html", Nov 2026).
 * Loaded on the WooCommerce shop page (/shop/) and on product category
 * archives (/shop/<cat>/). Restyles the DB templates archive-product and
 * taxonomy-product_cat: jam hero with a pickup card, a sticky menu bar
 * (Instant Product Filters search + section tabs + filter drawer), the
 * grouped product menu as horizontal cards, and a sticky "Your order"
 * panel built on the cart-checkout mini cart (it opens the cart drawer).
 */

:root {
	--mbh-oa-top: calc(var(--mbh-header-h, 102px) + var(--wp-admin--admin-bar--height, 0px));
	--mbh-oa-bar-h: 72px;
	--mbh-oa-pad: 56px;
}

/* ------------------------------------------------ Hero */
.mbh-oa-hero {
	margin: 0 !important;
	background: var(--mbh-jam);
	color: var(--mbh-cream);
	overflow: hidden;
}

.mbh-oa-hero__g {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 56px;
	align-items: end;
	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto !important;
	padding: 44px var(--mbh-oa-pad) 20px;
}

.mbh-oa-hero__g > * {
	margin: 0 !important;
}

.mbh-oa-hero__tx {
	min-width: 0;
	padding-bottom: 12px;
}

.mbh-oa-hero__tx > * {
	margin-block: 0;
}

/* Breadcrumbs: static on /shop/, WooCommerce's on category archives */
.mbh-oa-crumb,
.mbh-oa-crumb.wc-block-breadcrumbs,
.mbh-oa-crumb .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 14px;
	font-weight: 700;
	color: #f6d3bc;
}

.mbh-oa-crumb a,
.mbh-oa-crumb .woocommerce-breadcrumb a {
	color: var(--mbh-cream);
	text-decoration: none;
}

.mbh-oa-crumb a:hover {
	color: var(--mbh-peach);
}

.mbh-oa-hero__title {
	margin: 20px 0 0 !important;
	font-family: var(--mbh-stamp);
	font-weight: 400;
	font-size: clamp(50px, 5.6vw, 80px);
	line-height: 0.92;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--mbh-cream);
}

.mbh-oa-hero__title .mbh-lead {
	display: table;
	margin: 0 0 0.16em 0.04em;
	font-family: var(--mbh-disp);
	font-size: 0.5em;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
	color: var(--mbh-peach);
	transform: rotate(-3deg);
	transform-origin: left bottom;
}

.mbh-oa-hero__title em {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: -0.06em 0 -0.1em;
	font-family: var(--mbh-disp);
	font-style: normal;
	font-size: 1.28em;
	line-height: 0.7;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mbh-peach);
}

.mbh-oa-hero__title .mbh-tag {
	margin-top: 0.12em;
	background: var(--mbh-cream);
	color: var(--mbh-jam);
	white-space: nowrap;
}

/* Category archives: script lead above the term name */
.mbh-oa-hero__lead {
	display: table;
	margin: 22px 0 0 0.04em !important;
	font-family: var(--mbh-disp);
	font-size: clamp(25px, 2.8vw, 40px);
	line-height: 1;
	color: var(--mbh-peach);
	transform: rotate(-3deg);
	transform-origin: left bottom;
}

.mbh-oa-hero--cat .mbh-oa-hero__title {
	margin-top: 6px !important;
}

.mbh-oa-hero__intro,
.mbh-oa-hero .wp-block-term-description.mbh-oa-hero__intro {
	max-width: 27em;
	margin: 22px 0 0 !important;
	font-size: 20px;
	line-height: 1.55;
	color: #fce6d2;
	text-wrap: pretty;
}

.mbh-oa-hero .wp-block-term-description p {
	margin: 0;
}

.mbh-oa-hero .wp-block-term-description + .mbh-oa-hero__intro--how {
	margin-top: 12px !important;
	font-size: 16px;
}

/* Pickup card (replaces the design's time picker: times are chosen at checkout) */
.mbh-oa-pk {
	box-sizing: border-box;
	padding: 22px;
	border-radius: 28px;
	background: var(--mbh-paper);
	color: var(--mbh-ink);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.2);
}

.mbh-oa-pk > * {
	margin-block: 0;
}

.mbh-oa-pk__t {
	margin: 0 !important;
	font-family: var(--mbh-sub);
	font-size: 22px;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.mbh-oa-pk .wb-opening-hours {
	margin: 12px 0 0 !important;
	padding: 10px 14px;
	border-radius: 999px;
	background: var(--mbh-cream);
}

.mbh-oa-pk .wb-opening-hours__compact-text {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--mbh-crust);
}

.mbh-oa-pk .wb-opening-hours__compact-text::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3fa35b;
}

.mbh-oa-steps {
	display: grid;
	gap: 8px;
	margin: 14px 0 0 !important;
	padding: 0;
	list-style: none;
	counter-reset: mbh-oa-step;
}

.mbh-oa-steps li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px 12px;
	border-radius: 14px;
	background: var(--mbh-cream);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	counter-increment: mbh-oa-step;
}

.mbh-oa-steps li::before {
	content: counter(mbh-oa-step);
	flex: none;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--mbh-jam);
	color: var(--mbh-cream);
	font-size: 14px;
	font-weight: 800;
}

.mbh-oa-pk__n {
	margin: 12px 0 0 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--mbh-mute);
}

.mbh-oa-pk__n a {
	color: var(--mbh-jam);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid var(--mbh-peach);
}

.mbh-oa-wave {
	display: block;
	width: 100%;
	height: 70px;
	margin-top: -1px;
	fill: var(--mbh-jam);
}

/* The wp:html wrapper of the wave adds no spacing */
.mbh-oa-hero + .mbh-oa-wave,
.mbh-oa-wave {
	margin-bottom: 0;
}

/* ------------------------------------------------ Sticky menu bar */
.wp-block-group.mbh-oa-bar {
	margin: 0 !important;
	background: var(--mbh-paper) !important;
	border-bottom: 1px solid var(--mbh-line);
	z-index: 30;
}

.mbh-oa-bar .wb-product-filters {
	box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto !important;
	padding: 14px var(--mbh-oa-pad);
	background: none;
}

.mbh-oa-bar .wb-product-filters__header-bar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 16px;
	padding: 0 !important;
}

.mbh-oa-bar .wb-product-filters__header-bar > .wb-search-autocomplete {
	flex: 0 0 260px;
	width: 260px !important;
	max-width: 260px !important;
	min-width: 0;
	margin: 0;
}

.mbh-oa-bar .wb-product-filters__search {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 44px;
	padding: 0 6px 0 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--mbh-cream) !important;
	box-shadow: none !important;
}

.mbh-oa-bar .wb-product-filters__search:focus-within {
	box-shadow: 0 0 0 2.5px var(--mbh-peach) !important;
}

.mbh-oa-bar .wb-product-filters__search-icon {
	position: static !important;
	flex: none;
	display: grid !important;
	opacity: 1 !important;
	visibility: visible !important;
	place-items: center;
	width: 18px;
	height: 18px;
	transform: none !important;
	color: var(--mbh-jam);
}

.mbh-oa-bar .wb-product-filters__search-icon svg {
	width: 18px;
	height: 18px;
}

.mbh-oa-bar .wb-product-filters__search-input {
	flex: 1;
	min-width: 0;
	width: auto;
	height: 44px;
	padding: 0 8px 0 10px !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 15px;
	font-weight: 600;
	color: var(--mbh-ink);
	box-shadow: none !important;
	outline: none;
}

.mbh-oa-bar .wb-product-filters__search-input::placeholder {
	color: var(--mbh-mute);
	opacity: 1;
}

/* Section tabs (built from the grouped menu sections by the inline script) */
.mbh-oa-tabs-wrap {
	flex: 1;
	min-width: 0;
	margin: 0 !important;
}

.mbh-oa-tabs {
	display: flex;
	gap: 6px;
	padding-right: 28px;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-behavior: smooth;
	-webkit-mask: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
	mask: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
}

.mbh-oa-tabs::-webkit-scrollbar {
	display: none;
}

.mbh-oa-tabs[hidden] {
	display: none;
}

.mbh-oa-tabs a {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	color: var(--mbh-ink);
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}

.mbh-oa-tabs a:hover {
	background: var(--mbh-cream);
	color: var(--mbh-ink);
}

.mbh-oa-tabs a span {
	font-size: 13px;
	font-weight: 800;
	color: var(--mbh-mute);
}

.mbh-oa-tabs a.is-on {
	background: var(--mbh-jam);
	color: var(--mbh-cream);
}

.mbh-oa-tabs a.is-on span {
	color: var(--mbh-peach);
}

/* The tabs replace the plugin's "Sections" drawer button */
.mbh-oa-bar .wb-product-filters__nav-trigger-wrapper {
	display: none !important;
}

.mbh-oa-bar .wb-product-filters__header-actions {
	flex: none;
	margin: 0 !important;
}

.mbh-oa-bar .wb-product-filters__trigger,
.mbh-oa-bar .wb-product-filters__nav-trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 18px !important;
	border: 2px solid var(--mbh-cream) !important;
	border-radius: 999px !important;
	background: var(--mbh-paper) !important;
	color: var(--mbh-ink) !important;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 15px !important;
	font-weight: 700;
	box-shadow: none;
}

.mbh-oa-bar .wb-product-filters__trigger:hover,
.mbh-oa-bar .wb-product-filters__nav-trigger:hover {
	background: var(--mbh-cream) !important;
}

.mbh-oa-bar .wb-product-filters__trigger-count:not([hidden]) {
	background: var(--mbh-jam);
	color: var(--mbh-cream);
}

/* ------------------------------------------------ Menu + order panel */
.wp-block-group.mbh-oa-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 44px;
	align-items: start;
	box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto !important;
	padding: 40px var(--mbh-oa-pad) 72px;
}

.mbh-oa-body > * {
	margin: 0 !important;
}

.mbh-oa-main {
	min-width: 0;
}

.mbh-oa-main > * {
	margin-block: 0;
}

/* Active filter chips + result count */
.mbh-oa-active {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	color: var(--mbh-mute);
	font-weight: 700;
}

.mbh-oa-active:has(.wb-filter-active__filters:not([hidden])) {
	margin-bottom: 20px !important;
}

.mbh-oa-active .wb-filter-active__count:empty {
	display: none;
}

.mbh-oa-menu.wb-shop-collection {
	margin: 0 !important;
	padding: 0 !important;
}

/* Grouped sections */
.mbh-oa-menu .wb-grouped-section {
	scroll-margin-top: calc(var(--mbh-oa-top) + var(--mbh-oa-bar-h) + 16px);
	margin: 0;
	padding: 0 0 56px;
}

.mbh-oa-menu .wb-grouped-section__header {
	margin: 0 0 20px;
	padding: 0;
}

.mbh-oa-menu .wb-grouped-section__title {
	margin: 0;
	font-family: var(--mbh-stamp);
	font-weight: 400;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 0.92;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--mbh-ink);
}

.mbh-oa-menu .wb-grouped-section__count {
	margin-left: 8px;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	vertical-align: middle;
	color: var(--mbh-mute);
}

.mbh-oa-menu .wb-grouped-section__description {
	max-width: 44em;
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--mbh-crust);
}

/* Script leads on a few sections (decorative, matches the design's notes) */
.mbh-oa-menu .wb-grouped-section__title::before {
	display: table;
	margin: 0 0 0.16em 0.04em;
	font-family: var(--mbh-disp);
	font-size: 0.55em;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mbh-ink);
	transform: rotate(-3deg);
	transform-origin: left bottom;
}

#wb-section-33 .wb-grouped-section__title::before {
	content: "made to order";
}

#wb-section-29 .wb-grouped-section__title::before {
	content: "baked fresh every morning";
}

#wb-section-30 .wb-grouped-section__title::before {
	content: "baked fresh every morning";
}

#wb-section-863 .wb-grouped-section__title::before {
	content: "for the table";
}

/* Product grid: two columns of horizontal cards */
.mbh-oa-menu .wb-shop-collection__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

.mbh-oa-menu .wb-grouped-section__body {
	margin: 0;
}

.mbh-oa-menu .wb-product-card {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	grid-template-rows: auto auto 1fr auto;
	column-gap: 16px;
	align-items: start;
	box-sizing: border-box;
	min-height: 120px;
	margin: 0;
	padding: 12px 56px 12px 12px;
	border: 0;
	border-radius: 22px;
	background: var(--mbh-cream);
	box-shadow: none;
	cursor: pointer;
	transition: transform 0.2s cubic-bezier(0.34, 1.4, 0.64, 1), box-shadow 0.2s;
}

.mbh-oa-menu .wb-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(58, 15, 0, 0.1);
}

.mbh-oa-menu .wb-product-card__image-wrap {
	position: static;
	grid-column: 1;
	grid-row: 1 / -1;
	width: 96px;
	height: 96px;
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	background: var(--mbh-paper);
	aspect-ratio: auto;
}

.mbh-oa-menu .wb-product-card__image-wrap > a {
	position: relative !important;
	inset: auto !important;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 14px;
}

.mbh-oa-menu .wb-product-card__image,
.mbh-oa-menu .wb-product-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	position: static !important;
	object-fit: cover;
	border-radius: 0;
	transform: none !important;
}

.mbh-oa-menu .wb-product-card__image--contain {
	object-fit: contain;
}

.mbh-oa-menu .wb-product-card__badge {
	top: 6px;
	left: 6px;
	padding: 3px 7px;
	border-radius: 999px;
	background: var(--mbh-jam);
	color: var(--mbh-cream);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mbh-oa-menu .wb-product-card__title {
	grid-column: 2;
	margin: 2px 0 0;
	font-family: var(--mbh-sub) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--mbh-ink);
	text-decoration: none;
}

.mbh-oa-menu .wb-product-card__subtitle,
.mbh-oa-menu .wb-product-card__spec {
	grid-column: 2;
	font-size: 13px;
	color: var(--mbh-mute);
}

.mbh-oa-menu .wb-product-card__description {
	grid-column: 2;
	display: -webkit-box;
	margin: 4px 0 0;
	overflow: hidden;
	font-size: 14px !important;
	line-height: 1.4;
	color: var(--mbh-crust);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.mbh-oa-menu .wb-product-card__price {
	grid-column: 2;
	align-self: end;
	margin: 0;
	padding-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--mbh-mute);
}

.mbh-oa-menu .wb-product-card__price .amount,
.mbh-oa-menu .wb-product-card__price ins {
	font-size: 15px;
	font-weight: 800;
	color: var(--mbh-ink);
	text-decoration: none;
}

.mbh-oa-menu .wb-product-card__price del .amount {
	font-size: 13px;
	font-weight: 700;
	color: var(--mbh-mute);
}

/* The quick view button becomes the round "+" (it opens the options sheet) */
.mbh-oa-menu .wb-product-card__quick-view-btn {
	position: absolute;
	top: auto;
	right: 12px;
	bottom: 12px;
	left: auto;
	display: grid !important;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mbh-jam);
	color: transparent;
	font-size: 0;
	opacity: 1 !important;
	transform: none;
	box-shadow: none;
	transition: transform 0.15s;
}

.mbh-oa-menu .wb-product-card__quick-view-btn::before {
	content: "+";
	font-family: var(--wp--preset--font-family--primary);
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
	color: var(--mbh-cream);
}

.mbh-oa-menu .wb-product-card__quick-view-btn:hover {
	transform: scale(1.08);
}

.mbh-oa-menu .wb-product-card__quick-view-btn:focus-visible {
	outline: 2.5px solid var(--mbh-peach);
	outline-offset: 2px;
}

/* Whole cakes: three photo-led cards */
#wb-section-863 .wb-shop-collection__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#wb-section-863 .wb-product-card {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto;
	padding: 14px 14px 64px;
}

#wb-section-863 .wb-product-card__image-wrap {
	grid-row: auto;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	margin-bottom: 12px;
}

#wb-section-863 .wb-product-card__title,
#wb-section-863 .wb-product-card__description,
#wb-section-863 .wb-product-card__price,
#wb-section-863 .wb-product-card__subtitle {
	grid-column: 1;
}

#wb-section-863 .wb-product-card__price {
	position: absolute;
	left: 14px;
	bottom: 20px;
	padding: 0;
}

#wb-section-863 .wb-product-card__quick-view-btn {
	right: 14px;
	bottom: 14px;
}

/* Pagination / dots are unused by the grouped menu */
.mbh-oa-menu .wb-pagination {
	margin-top: 32px;
}

/* ------------------------------------------------ Your order panel */
.wp-block-group.mbh-oa-cart {
	position: sticky;
	top: calc(var(--mbh-oa-top) + var(--mbh-oa-bar-h) + 24px);
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 24px;
	border-radius: 30px;
	background: var(--mbh-cream);
	color: var(--mbh-ink);
}

.mbh-oa-cart > * {
	margin-block: 0;
}

.mbh-oa-cart__h {
	margin: 0 !important;
	font-family: var(--mbh-stamp);
	font-weight: 400;
	font-size: 30px;
	line-height: 0.92;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--mbh-ink);
}

.mbh-oa-cart__pk {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 16px;
	padding: 12px 14px;
	border-radius: 16px;
	background: var(--mbh-paper);
	font-size: 15px;
	font-weight: 700;
}

.mbh-oa-cart__pk small {
	font-size: 13px;
	font-weight: 700;
	color: var(--mbh-mute);
	text-align: right;
}

.mbh-oa-cart__empty {
	margin: 16px 0 0;
	font-family: var(--mbh-disp);
	font-size: 24px;
	line-height: 1.1;
	color: var(--mbh-jam);
	transform: rotate(-2deg);
}

.mbh-oa-cart__empty[hidden] {
	display: none;
}

/* Mini cart: a full-width row that opens the cart drawer */
.mbh-oa-cart .cc-mini-cart.mbh-oa-cart__bag {
	position: relative;
	display: flex;
	align-items: center;
	margin: 16px 0 0 !important;
	padding: 0;
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 56px;
	padding: 0 128px 0 16px;
	border: 0;
	border-radius: 16px;
	background: var(--mbh-paper);
	color: var(--mbh-jam);
	font-family: var(--wp--preset--font-family--primary);
	font-size: 15px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button::after {
	content: "View your order";
	color: var(--mbh-ink);
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button:hover {
	box-shadow: 0 0 0 2px var(--mbh-peach);
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__icon {
	flex: none;
	width: 24px;
	height: 24px;
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__badge {
	top: 6px;
	left: 30px;
	right: auto;
	background: var(--mbh-jam);
	color: var(--mbh-cream);
}

.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__subtotal {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	font-size: 18px;
	font-weight: 800;
	color: var(--mbh-ink);
	pointer-events: none;
}

.mbh-oa-cart__go {
	margin: 14px 0 0 !important;
}

.mbh-oa-cart__go .wp-block-button {
	width: 100%;
}

.mbh-oa-cart__go .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	padding: 0 26px;
	border-radius: 999px !important;
	background: var(--mbh-jam) !important;
	color: var(--mbh-cream) !important;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.18s cubic-bezier(0.34, 1.5, 0.64, 1), filter 0.18s;
}

.mbh-oa-cart__go .wp-block-button__link:hover {
	transform: translateY(-2px);
	filter: brightness(1.05);
}

.mbh-oa-cart__fine {
	margin: 10px 0 0 !important;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	color: var(--mbh-mute);
}

/* ------------------------------------------------ Catalogue mode
 * When online ordering is off (catalog-visibility catalog mode), the
 * cart-checkout mini cart does not render anywhere on the page. Swap the
 * ordering copy for counter copy so the page never promises a checkout. */
body:has(.cc-mini-cart) .mbh-oa-catalog-only {
	display: none !important;
}

body:not(:has(.cc-mini-cart)) .mbh-oa-order-only,
body:not(:has(.cc-mini-cart)) .mbh-oa-cart__pk,
body:not(:has(.cc-mini-cart)) .mbh-oa-cart__empty,
body:not(:has(.cc-mini-cart)) .mbh-oa-cart__go,
body:not(:has(.cc-mini-cart)) .mbh-oa-cart__fine {
	display: none !important;
}

/* Nothing to add to an order: the round button opens the details. */
body:not(:has(.cc-mini-cart)) .mbh-oa-menu .wb-product-card__quick-view-btn::before {
	content: "→";
	font-size: 20px;
}

.mbh-oa-cart__alt {
	margin: 14px 0 0 !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--mbh-crust);
}

@media (max-width: 1020px) {
	body:not(:has(.cc-mini-cart)) .wp-block-group.mbh-oa-cart {
		display: none;
	}
}

/* ------------------------------------------------ Tablet */
@media (max-width: 1180px) {
	.wp-block-group.mbh-oa-body {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 28px;
	}

	.mbh-oa-menu .wb-shop-collection__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	#wb-section-863 .wb-shop-collection__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1020px) {
	:root {
		--mbh-oa-pad: 32px;
		--mbh-oa-bar-h: 132px;
	}

	.mbh-oa-hero__g {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-bottom: 28px;
	}

	.mbh-oa-bar .wb-product-filters__header-bar {
		flex-wrap: wrap;
		gap: 10px;
	}

	.mbh-oa-bar .wb-product-filters__header-bar > .wb-search-autocomplete {
		flex: 1 1 auto;
		width: auto !important;
		max-width: none !important;
	}

	.mbh-oa-tabs-wrap {
		order: 3;
		flex: 1 0 100%;
	}

	.wp-block-group.mbh-oa-body {
		grid-template-columns: minmax(0, 1fr);
		padding-bottom: 110px;
	}

	.mbh-oa-menu .wb-shop-collection__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* An odd last card spans the row */
	.mbh-oa-menu .wb-shop-collection__grid > .wb-product-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	#wb-section-863 .wb-shop-collection__grid > .wb-product-card:last-child:nth-child(odd) {
		grid-template-columns: 160px minmax(0, 1fr);
		padding: 12px 56px 12px 12px;
		column-gap: 16px;
	}

	#wb-section-863 .wb-shop-collection__grid > .wb-product-card:last-child:nth-child(odd) .wb-product-card__image-wrap {
		grid-row: 1 / -1;
		margin: 0;
	}

	#wb-section-863 .wb-shop-collection__grid > .wb-product-card:last-child:nth-child(odd) > :not(.wb-product-card__image-wrap):not(.wb-product-card__quick-view-btn) {
		grid-column: 2;
	}

	#wb-section-863 .wb-shop-collection__grid > .wb-product-card:last-child:nth-child(odd) .wb-product-card__price {
		position: static;
		padding-top: 8px;
	}

	/* Order panel becomes a fixed "View order" bar; the mini cart opens the drawer */
	.wp-block-group.mbh-oa-cart {
		position: fixed;
		top: auto;
		right: 16px;
		bottom: 16px;
		left: 16px;
		z-index: 70;
		padding: 0;
		border-radius: 999px;
		background: var(--mbh-jam);
		box-shadow: 0 14px 30px rgba(110, 16, 41, 0.35);
	}

	.mbh-oa-cart > :not(.mbh-oa-cart__bag) {
		display: none !important;
	}

	.mbh-oa-cart .cc-mini-cart.mbh-oa-cart__bag {
		margin: 0 !important;
	}

	.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button {
		height: 58px;
		padding: 0 120px 0 22px;
		border-radius: 999px;
		background: none;
		color: var(--mbh-cream);
		font-size: 16px;
	}

	.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button::after {
		content: "View order";
		color: var(--mbh-cream);
	}

	.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__button:hover {
		box-shadow: none;
	}

	.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__badge {
		left: 36px;
		top: 8px;
		background: var(--mbh-peach);
		color: var(--mbh-jam);
	}

	.mbh-oa-cart .mbh-oa-cart__bag .cc-mini-cart__subtotal {
		right: 22px;
		font-size: 16px;
		color: var(--mbh-cream);
	}
}

/* ------------------------------------------------ Phone */
@media (max-width: 640px) {
	:root {
		--mbh-oa-pad: 18px;
		--mbh-oa-bar-h: 64px;
	}

	.mbh-oa-hero__g {
		padding-top: 28px;
		gap: 22px;
	}

	.mbh-oa-hero__title {
		margin-top: 14px !important;
		font-size: 46px;
	}

	.mbh-oa-hero__intro,
	.mbh-oa-hero .wp-block-term-description.mbh-oa-hero__intro {
		margin-top: 14px !important;
		font-size: 17px;
	}

	.mbh-oa-pk {
		padding: 18px;
		border-radius: 24px;
	}

	.mbh-oa-wave {
		height: 40px;
	}

	/* One row: search collapses to an icon, tabs scroll */
	.mbh-oa-bar .wb-product-filters {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.mbh-oa-bar .wb-product-filters__header-bar {
		flex-wrap: nowrap;
		gap: 8px;
	}

	.mbh-oa-tabs-wrap {
		order: 0;
		flex: 1 1 auto;
	}

	.mbh-oa-bar .wb-product-filters__header-bar > .wb-search-autocomplete {
		flex: 0 0 44px;
		width: 44px !important;
		max-width: 44px !important;
		transition: width 0.2s;
	}

	.mbh-oa-bar .wb-product-filters__search {
		padding: 0 0 0 13px !important;
	}

	.mbh-oa-bar .wb-product-filters__search-input {
		padding: 0 !important;
		font-size: 16px;
	}

	.mbh-oa-bar .wb-product-filters__search-input::placeholder {
		color: transparent;
	}

	.mbh-oa-bar .wb-product-filters__header-bar > .wb-search-autocomplete:focus-within {
		flex: 1 1 auto;
		width: 100% !important;
		max-width: none !important;
	}

	.mbh-oa-bar .wb-search-autocomplete:focus-within .wb-product-filters__search {
		padding-right: 6px !important;
	}

	.mbh-oa-bar .wb-search-autocomplete:focus-within .wb-product-filters__search-input {
		padding: 0 8px 0 10px !important;
	}

	.mbh-oa-bar .wb-search-autocomplete:focus-within .wb-product-filters__search-input::placeholder {
		color: var(--mbh-mute);
	}

	.mbh-oa-bar .wb-product-filters__header-bar:has(.wb-search-autocomplete:focus-within) .mbh-oa-tabs-wrap,
	.mbh-oa-bar .wb-product-filters__header-bar:has(.wb-search-autocomplete:focus-within) .wb-product-filters__header-actions {
		display: none;
	}

	.mbh-oa-bar .wb-product-filters__trigger {
		width: 44px;
		padding: 0 !important;
		justify-content: center;
	}

	.mbh-oa-bar .wb-product-filters__trigger-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.wp-block-group.mbh-oa-body {
		padding-top: 28px;
	}

	.mbh-oa-menu .wb-shop-collection__grid,
	#wb-section-863 .wb-shop-collection__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.mbh-oa-menu .wb-product-card {
		grid-template-columns: 84px minmax(0, 1fr);
		column-gap: 14px;
		min-height: 108px;
	}

	.mbh-oa-menu .wb-product-card__image-wrap {
		width: 84px;
		height: 84px;
	}

	.mbh-oa-menu .wb-product-card__title {
		font-size: 18px !important;
	}

	.mbh-oa-menu .wb-grouped-section {
		padding-bottom: 40px;
	}

	.mbh-oa-menu .wb-grouped-section__title {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mbh-oa-menu .wb-product-card,
	.mbh-oa-menu .wb-product-card__quick-view-btn,
	.mbh-oa-tabs {
		transition: none;
		scroll-behavior: auto;
	}
}

/* ------------------------------------------------ Gluten-free note
 * Cross-contact caveat on /dietary/gluten-free/ (functions.php,
 * mbh_gluten_free_note). */
.mbh-oa-hero__intro.mbh-gf-note {
	max-width: 40em;
	padding: 14px 18px;
	border-left: 4px solid var(--mbh-peach);
	border-radius: 0 14px 14px 0;
	background: rgba(255, 242, 225, 0.1);
}

.mbh-gf-note a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Catering items sold in sizes: one card, sizes listed under the name. */
.mbh-oa-menu .mbh-card-sizes {
	grid-column: 2;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 700;
	color: var(--mbh-jam);
}
