/*
 * Restaurant app 2026 application UI.
 * Loaded after the base theme CSS to replace legacy visual layers with one system.
 */

:root {
	--jv-bg: #fff5e7;
	--jv-bg-2: #fffaf3;
	--jv-surface: #fffdf9;
	--jv-surface-2: #fff7eb;
	--jv-ink: #17100c;
	--jv-ink-2: #33241b;
	--jv-muted: #74675e;
	--jv-line: rgba(38, 26, 18, 0.14);
	--jv-line-strong: rgba(38, 26, 18, 0.22);
	--jv-dark: #160d09;
	--jv-dark-2: #22150f;
	--jv-red: #d9362a;
	--jv-red-2: #b92b21;
	--jv-green: #137f48;
	--jv-teal: #0d9288;
	--jv-gold: #c98224;
	--jv-danger: #c9362d;
	--jv-success: #137f48;
	--jv-radius: 8px;
	--jv-shadow: 0 24px 64px rgba(38, 26, 18, 0.12);
	--jv-shadow-soft: 0 14px 34px rgba(38, 26, 18, 0.08);
	--jv-shell: 1180px;
	--jv-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--jv-font-sans: var(--jv-font);
	--jv-serif: Georgia, "Times New Roman", serif;
}

/* Final restaurant app polish: fixes the app-shell sizing, rail icon clarity, card rhythm, and cart/order composition. */
body.restaurant-menu-app-view.restaurant-app-ui,
body.woocommerce-shop.restaurant-app-ui,
body.tax-product_cat.restaurant-app-ui,
body.tax-product_tag.restaurant-app-ui,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui {
	--menu-app-bg: #f4f0e8;
	--menu-app-paper: #fffaf3;
	--menu-app-panel: #ffffff;
	--menu-app-ink: #18110d;
	--menu-app-muted: #6f665f;
	--menu-app-line: rgba(30, 22, 16, 0.11);
	--menu-app-line-strong: rgba(30, 22, 16, 0.18);
	--menu-app-red: #e22f2f;
	--menu-app-red-dark: #b91f1f;
	--menu-app-green: #177a4a;
	--menu-app-shadow: 0 18px 45px rgba(42, 32, 22, 0.1);
	--menu-app-shadow-soft: 0 10px 26px rgba(42, 32, 22, 0.07);
	background:
		linear-gradient(135deg, #ebe8dc 0%, #f7f2e9 45%, #fff3eb 100%) !important;
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding: 28px 36px 72px 316px !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding-left: 112px !important;
	}
}

.restaurant-menu-app-rail {
	width: 280px !important;
	padding: 18px !important;
	background: linear-gradient(180deg, #28231f 0%, #17120f 100%) !important;
	box-shadow: 18px 0 50px rgba(24, 17, 13, 0.12) !important;
}

.restaurant-menu-app-rail__toggle {
	top: 26px !important;
	right: -18px !important;
	width: 46px !important;
	height: 46px !important;
	border: 3px solid #f4f0e8 !important;
	background: var(--menu-app-red) !important;
	color: #fff !important;
	box-shadow: 0 14px 28px rgba(226, 47, 47, 0.26) !important;
}

.restaurant-menu-app-rail__toggle:hover,
.restaurant-menu-app-rail__toggle:focus-visible {
	background: var(--menu-app-red-dark) !important;
	color: #fff !important;
}

.restaurant-menu-app-rail__brand {
	min-height: 70px !important;
	border-radius: 22px !important;
	background: rgba(255, 255, 255, 0.07) !important;
}

.restaurant-menu-app-rail__logo,
.restaurant-menu-app-rail__mark {
	width: 52px !important;
	height: 52px !important;
	border-radius: 18px !important;
	background: var(--menu-app-red) !important;
}

.restaurant-menu-app-rail__nav {
	gap: 8px !important;
}

.restaurant-menu-app-rail__nav a {
	grid-template-columns: 24px minmax(0, 1fr) !important;
	min-height: 48px !important;
	padding: 0 14px !important;
	border-radius: 14px !important;
	color: rgba(255, 255, 255, 0.68) !important;
}

.restaurant-menu-app-rail__nav a:hover,
.restaurant-menu-app-rail__nav a.is-active {
	background: rgba(226, 47, 47, 0.96) !important;
	color: #fff !important;
}

.restaurant-menu-app-rail__nav span {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	color: currentColor !important;
	font-size: 0 !important;
}

.restaurant-menu-app-rail__nav span::before {
	content: "" !important;
	width: 7px !important;
	height: 7px !important;
	border-radius: 999px !important;
	background: currentColor !important;
	opacity: 0.9 !important;
}

.restaurant-menu-app-rail__nav a:first-child span::before {
	width: 12px !important;
	height: 12px !important;
	border: 2px solid currentColor !important;
	background: transparent !important;
}

.restaurant-menu-app-rail__cart {
	gap: 12px !important;
	min-height: 112px !important;
	padding: 18px !important;
	border-radius: 22px !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

.restaurant-menu-app-rail__cart b {
	font-size: 1.26rem !important;
	line-height: 1.16 !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail {
	width: 88px !important;
	padding: 18px 14px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart {
	border-radius: 18px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav a {
	min-height: 48px !important;
	border-radius: 16px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav span {
	font-size: 0 !important;
}

body.woocommerce-shop.restaurant-app-ui .shop-shell,
body.tax-product_cat.restaurant-app-ui .shop-shell,
body.tax-product_tag.restaurant-app-ui .shop-shell,
body.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-shell {
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin: 0 auto !important;
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		width: min(1460px, 100%) !important;
		max-width: 1460px !important;
		margin: 0 auto 28px !important;
	}
}

.restaurant-menu-app-header {
	padding: 28px !important;
	border: 1px solid rgba(255, 255, 255, 0.88) !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.9) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

.restaurant-menu-app-header__top {
	margin-bottom: 10px !important;
}

.restaurant-menu-app-header__top p {
	color: var(--menu-app-muted) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.28em !important;
}

.restaurant-menu-app-header h1 {
	max-width: 980px !important;
	margin-bottom: 16px !important;
	font-size: 4rem !important;
	line-height: 1 !important;
}

.restaurant-menu-app-header__intro {
	max-width: 820px !important;
	color: var(--menu-app-muted) !important;
	font-size: 1.06rem !important;
	line-height: 1.45 !important;
}

.restaurant-menu-app-header__meta {
	gap: 10px !important;
	margin-bottom: 20px !important;
}

.restaurant-menu-app-header__meta span {
	min-height: 50px !important;
	padding: 9px 14px !important;
	border-color: var(--menu-app-line) !important;
	border-radius: 15px !important;
	background: #fff !important;
	box-shadow: 0 6px 18px rgba(42, 32, 22, 0.045) !important;
}

.restaurant-menu-app-header form {
	grid-template-columns: 30px minmax(0, 1fr) 50px !important;
	min-height: 60px !important;
	padding: 0 10px 0 18px !important;
	border-color: var(--menu-app-line) !important;
	border-radius: 20px !important;
}

.restaurant-menu-app-header input[type="search"] {
	font-size: 1rem !important;
}

.restaurant-menu-app-header form button {
	width: 42px !important;
	min-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	background: #efe4d4 !important;
	font-size: 0.72rem !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products,
body.tax-product_cat.restaurant-app-ui ul.products,
body.tax-product_tag.restaurant-app-ui ul.products,
body.restaurant-menu-app-view.restaurant-app-ui ul.products,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important;
	gap: 24px !important;
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin: 0 auto !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product,
body.woocommerce-shop.restaurant-app-ui ul.products li.product,
body.tax-product_cat.restaurant-app-ui ul.products li.product,
body.tax-product_tag.restaurant-app-ui ul.products li.product,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product:only-child {
	min-height: 0 !important;
	max-width: none !important;
	padding: 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.86) !important;
	border-radius: 24px !important;
	background: linear-gradient(180deg, #fffdf8 0%, #fff4eb 100%) !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
	transition: transform 160ms ease, box-shadow 160ms ease !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 18px 42px rgba(42, 32, 22, 0.12) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
body.tax-product_cat.restaurant-app-ui ul.products li.product img,
body.tax-product_tag.restaurant-app-ui ul.products li.product img {
	width: 100% !important;
	height: 228px !important;
	aspect-ratio: auto !important;
	border: 0 !important;
	border-radius: 18px !important;
	object-fit: cover !important;
	box-shadow: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link::after,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
	top: auto !important;
	left: 12px !important;
	right: 12px !important;
	bottom: 0 !important;
	height: 108px !important;
	border-radius: 0 0 18px 18px !important;
	background: linear-gradient(180deg, transparent 0%, rgba(16, 11, 8, 0.74) 100%) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
	left: 24px !important;
	right: 96px !important;
	top: 184px !important;
	color: #fff !important;
	font-size: 1.25rem !important;
	line-height: 1.08 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.34) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
	top: 176px !important;
	right: 22px !important;
	min-height: 44px !important;
	max-width: 92px !important;
	padding: 0 10px !important;
	border-radius: 14px !important;
	font-size: 0.9rem !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-meta,
body.tax-product_cat.restaurant-app-ui .restaurant-card-meta,
body.tax-product_tag.restaurant-app-ui .restaurant-card-meta {
	top: 22px !important;
	left: 22px !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-excerpt,
body.tax-product_cat.restaurant-app-ui .restaurant-card-excerpt,
body.tax-product_tag.restaurant-app-ui .restaurant-card-excerpt,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .restaurant-card-excerpt {
	min-height: 58px !important;
	margin: 16px 6px 0 !important;
	color: var(--menu-app-muted) !important;
	font-size: 0.94rem !important;
	line-height: 1.48 !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .button,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .button,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.tax-product_cat.restaurant-app-ui ul.products li.product .button,
body.tax-product_cat.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.tax-product_tag.restaurant-app-ui ul.products li.product .button,
body.tax-product_tag.restaurant-app-ui ul.products li.product .add_to_cart_button {
	width: calc(100% - 68px) !important;
	min-height: 46px !important;
	margin: 16px 68px 0 0 !important;
	border-radius: 14px !important;
	background: var(--menu-app-ink) !important;
	font-size: 0.88rem !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus.add_to_cart_button {
	right: 12px !important;
	bottom: 12px !important;
	width: 46px !important;
	min-width: 46px !important;
	height: 46px !important;
	min-height: 46px !important;
	border-radius: 14px !important;
}

.restaurant-menu-app-cart-fab {
	right: 28px !important;
	bottom: 28px !important;
	border-radius: 18px !important;
	background: var(--menu-app-red) !important;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(226, 47, 47, 0.25) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
	margin-bottom: 24px !important;
	padding: 26px 30px !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.9) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
	font-size: 4.25rem !important;
	line-height: 1 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
	grid-template-columns: minmax(0, 1fr) 368px !important;
	gap: 24px !important;
	padding: 22px !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.88) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
	grid-template-columns: 96px minmax(0, 1fr) auto !important;
	min-height: 122px !important;
	padding: 14px !important;
	border-radius: 20px !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
	width: 96px !important;
	height: 96px !important;
	border-radius: 16px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__wrap {
	align-items: center !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
	font-size: 1.12rem !important;
	line-height: 1.15 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
	grid-template-columns: 36px 42px 36px !important;
	min-width: 114px !important;
	height: 40px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__sidebar,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-sidebar {
	border-radius: 22px !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__totals-title,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart-order-summary-heading-block {
	padding: 20px 22px !important;
	font-size: 1.08rem !important;
	letter-spacing: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-totals-footer-item {
	font-size: 1.16rem !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .qr-order-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__submit-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-button {
	width: calc(100% - 44px) !important;
	min-height: 54px !important;
	margin: 18px 22px 22px !important;
	border-radius: 14px !important;
	background: var(--menu-app-red) !important;
	box-shadow: 0 14px 30px rgba(226, 47, 47, 0.22) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
	grid-template-columns: minmax(0, 1fr) 260px !important;
	gap: 28px !important;
	align-items: center !important;
	margin-top: 0 !important;
	padding: 28px !important;
	border-color: rgba(255, 255, 255, 0.86) !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box h2 {
	font-size: 1.42rem !important;
	line-height: 1.15 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box p:not(.eyebrow) {
	max-width: 620px !important;
	margin: 8px 0 0 !important;
	color: var(--menu-app-muted) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-status-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 680px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .waiter-order-context-item,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-timeline {
	border-radius: 12px !important;
	background: #fffdf8 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__status,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__table {
	background: rgba(23, 122, 74, 0.1) !important;
	color: var(--menu-app-green) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__code {
	width: 260px !important;
	min-width: 260px !important;
	padding: 16px !important;
	border-radius: 16px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-svg {
	display: block !important;
	width: 100% !important;
	height: auto !important;
}

@media (max-width: 980px) {
	.restaurant-menu-app-rail {
		display: none !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding: 14px 14px 92px !important;
	}

	.restaurant-menu-app-header {
		width: min(620px, calc(100% - 28px)) !important;
		margin: 14px auto 18px !important;
		padding: 20px !important;
		border-radius: 22px !important;
	}

	.restaurant-menu-app-header h1 {
		font-size: 2.45rem !important;
		line-height: 1.02 !important;
	}

	.restaurant-menu-app-header__top {
		align-items: flex-start !important;
	}

	.restaurant-menu-app-header__meta span {
		flex: 1 1 150px !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: min(620px, calc(100% - 28px)) !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
	body.tax-product_cat.restaurant-app-ui ul.products li.product img,
	body.tax-product_tag.restaurant-app-ui ul.products li.product img {
		height: 220px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		top: 176px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
		top: 168px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		width: min(620px, 100%) !important;
		max-width: 620px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		margin-top: 0 !important;
		padding: 20px !important;
		border-radius: 22px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
		font-size: 2.55rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
		grid-template-columns: 1fr !important;
		padding: 16px !important;
		border-radius: 22px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image total"
			"image remove" !important;
		gap: 8px 12px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
		width: 78px !important;
		height: 78px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-status-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__code {
		justify-self: start !important;
		width: min(260px, 100%) !important;
		min-width: 0 !important;
	}
}

@media (max-width: 520px) {
	.restaurant-menu-app-header {
		padding: 18px !important;
	}

	.restaurant-menu-app-header h1 {
		font-size: 2.15rem !important;
	}

	.restaurant-menu-app-header form {
		grid-template-columns: 24px minmax(0, 1fr) 44px !important;
		min-height: 54px !important;
		padding-left: 14px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
	body.tax-product_cat.restaurant-app-ui ul.products li.product img,
	body.tax-product_tag.restaurant-app-ui ul.products li.product img {
		height: 205px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		top: 162px !important;
		right: 86px !important;
		font-size: 1.14rem !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
		top: 154px !important;
		right: 20px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-status-grid {
		grid-template-columns: 1fr !important;
	}
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
	background:
		linear-gradient(180deg, #fff1dc 0, #fffaf3 38%, #fff3df 100%) !important;
	color: var(--jv-ink) !important;
	font-family: var(--jv-font) !important;
	font-size: 16px;
	line-height: 1.5;
	text-rendering: optimizeLegibility;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

table {
	width: 100%;
	border-collapse: collapse;
}

ul,
ol {
	padding-left: 1.15rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	white-space: nowrap !important;
}

:focus-visible {
	outline: 3px solid rgba(13, 146, 136, 0.34) !important;
	outline-offset: 3px !important;
}

.container,
.restaurant-app-shell,
.content-layout,
.content-narrow {
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	max-width: var(--jv-shell) !important;
	margin-inline: auto !important;
}

body:not(.home) .site-main {
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin-inline: auto !important;
	padding: clamp(28px, 5vw, 72px) 0 !important;
	background: transparent !important;
}

h1,
h2,
h3,
h4 {
	color: var(--jv-ink);
	letter-spacing: 0;
}

h1,
.entry-title,
.woocommerce-products-header h1,
.product_title {
	font-family: var(--jv-font) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

p {
	color: var(--jv-muted);
}

.eyebrow,
.restaurant-app-kicker {
	display: inline-flex !important;
	align-items: center;
	width: fit-content !important;
	margin: 0 0 12px !important;
	padding: 6px 10px !important;
	border: 1px solid rgba(217, 54, 42, 0.22);
	border-radius: 999px;
	background: rgba(217, 54, 42, 0.08);
	color: var(--jv-red) !important;
	font-size: 0.75rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

/* Buttons and inputs */
.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.add_to_cart_button,
.single_add_to_cart_button,
.wc-block-components-button,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.qr-order-button,
.restaurant-app-button,
button[type="submit"],
input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-red) !important;
	color: #fff !important;
	font-size: 0.96rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 16px 34px rgba(217, 54, 42, 0.22) !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease !important;
}

.button:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.qr-order-button:hover,
.restaurant-app-button:hover {
	background: var(--jv-red-2) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 20px 44px rgba(217, 54, 42, 0.28) !important;
}

.button--secondary,
.restaurant-app-button--ghost,
.waiter-app__push {
	border: 1px solid var(--jv-line-strong) !important;
	background: var(--jv-surface) !important;
	color: var(--jv-ink) !important;
	box-shadow: none !important;
}

.button--secondary:hover,
.restaurant-app-button--ghost:hover,
.waiter-app__push:hover {
	background: #fff !important;
	color: var(--jv-ink) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
select,
textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
	min-height: 46px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface) !important;
	color: var(--jv-ink) !important;
	box-shadow: 0 1px 2px rgba(38, 26, 18, 0.04) !important;
}

/* Header */
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	border: 0 !important;
	background: rgba(22, 13, 9, 0.96) !important;
	backdrop-filter: blur(18px);
	box-shadow: 0 10px 34px rgba(10, 6, 4, 0.2) !important;
}

body.admin-bar .site-header {
	top: 32px !important;
}

.utility-bar {
	display: none !important;
}

.header-main {
	display: grid !important;
	grid-template-columns: auto 1fr auto !important;
	align-items: center !important;
	gap: 24px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	min-height: 76px !important;
	margin-inline: auto !important;
	padding: 0 !important;
}

.site-branding,
.site-branding a {
	display: inline-flex !important;
	align-items: center !important;
	min-width: 0;
}

.custom-logo {
	width: auto !important;
	max-width: 124px !important;
	max-height: 56px !important;
	object-fit: contain !important;
}

.primary-navigation {
	justify-self: center !important;
}

.primary-navigation ul,
.primary-navigation .menu {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.primary-navigation a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 40px !important;
	padding: 0 14px !important;
	border-radius: 999px !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.95rem !important;
	font-weight: 850 !important;
	text-decoration: none !important;
}

.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.woocommerce-shop .primary-navigation a[href*="shop"],
.single-product .primary-navigation a[href*="shop"] {
	background: rgba(255, 255, 255, 0.11) !important;
	color: #fff !important;
}

.header-actions {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	min-width: 0 !important;
	overflow: visible !important;
}

.header-language-chooser,
.header-language-chooser ul,
.header-language-chooser li {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.header-language-chooser a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 48px !important;
	min-height: 42px !important;
	padding: 0 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.32) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

.cart-link,
.menu-toggle {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.cart-link__count {
	position: absolute !important;
	top: -6px !important;
	right: -4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 20px !important;
	height: 20px !important;
	padding: 0 6px !important;
	border-radius: 999px !important;
	background: var(--jv-red) !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 950 !important;
}

.menu-toggle {
	display: none !important;
}

.menu-toggle__bar {
	display: block !important;
	width: 18px !important;
	height: 2px !important;
	margin: 2px 0 !important;
	border-radius: 99px !important;
	background: #fff !important;
}

/* Legacy restaurant landing styles remain scoped to the removed front-page template. */
.front-page.restaurant-app-landing {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--jv-bg) !important;
}

.restaurant-app-nav {
	position: fixed !important;
	top: 18px !important;
	left: 50% !important;
	z-index: 1000 !important;
	display: grid !important;
	grid-template-columns: auto 1fr auto !important;
	align-items: center !important;
	gap: 18px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	min-height: 64px !important;
	padding: 10px 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 999px !important;
	background: rgba(22, 13, 9, 0.72) !important;
	backdrop-filter: blur(18px);
	transform: translateX(-50%) !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24) !important;
}

.restaurant-app-brand,
.restaurant-app-nav a {
	color: rgba(255, 255, 255, 0.86) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.restaurant-app-brand__mark {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	margin-right: 10px !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.08) !important;
	font-family: var(--jv-serif) !important;
	font-size: 1.35rem !important;
}

.restaurant-app-nav__links {
	display: flex !important;
	justify-content: center !important;
	gap: 8px !important;
}

.restaurant-app-nav__links a {
	min-height: 40px !important;
	padding: 0 14px !important;
	border-radius: 999px !important;
}

.restaurant-app-nav__links a:hover {
	background: rgba(255, 255, 255, 0.12) !important;
	color: #fff !important;
}

.restaurant-app-nav__order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	padding: 0 18px !important;
	border-radius: 999px !important;
	background: var(--jv-red) !important;
	color: #fff !important;
}

.restaurant-app-hero {
	position: relative !important;
	display: grid !important;
	align-items: center !important;
	min-height: 94vh !important;
	padding: clamp(112px, 15vh, 170px) 16px 72px !important;
	overflow: hidden !important;
	background: var(--jv-dark) !important;
	color: #fff !important;
}

.restaurant-app-hero__media {
	position: absolute !important;
	inset: 0 !important;
}

.restaurant-app-hero__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.restaurant-app-hero::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background:
		linear-gradient(90deg, rgba(13, 8, 5, 0.88) 0, rgba(13, 8, 5, 0.6) 48%, rgba(13, 8, 5, 0.18) 100%),
		linear-gradient(180deg, rgba(13, 8, 5, 0.18) 0, rgba(13, 8, 5, 0.78) 100%) !important;
}

.restaurant-app-hero__inner {
	position: relative !important;
	z-index: 2 !important;
}

.restaurant-app-hero__copy {
	max-width: 720px !important;
}

.restaurant-app-hero h1 {
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--jv-serif) !important;
	font-size: clamp(4.5rem, 9vw, 8rem) !important;
	font-weight: 900 !important;
	line-height: 0.88 !important;
	letter-spacing: 0 !important;
}

.restaurant-app-hero p {
	max-width: 620px !important;
	color: rgba(255, 255, 255, 0.86) !important;
	font-size: 1.08rem !important;
	font-weight: 750 !important;
	line-height: 1.55 !important;
}

.restaurant-app-hero__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-top: 28px !important;
}

.restaurant-app-hero__panel {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
	max-width: 660px !important;
	margin-top: 34px !important;
	padding: 10px !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	backdrop-filter: blur(12px);
}

.restaurant-app-hero__panel div {
	padding: 18px !important;
	border-radius: 6px !important;
	background: rgba(255, 250, 242, 0.92) !important;
}

.restaurant-app-hero__panel strong,
.restaurant-app-hero__panel span {
	display: block !important;
	color: var(--jv-red) !important;
	font-size: 1.8rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

.restaurant-app-hero__panel small {
	color: var(--jv-muted) !important;
	font-weight: 850 !important;
}

.restaurant-app-section,
.restaurant-app-offer,
.restaurant-app-reviews {
	padding: clamp(56px, 8vw, 96px) 16px !important;
}

.restaurant-app-section__head,
.section-heading {
	display: flex !important;
	align-items: end !important;
	justify-content: space-between !important;
	gap: 20px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 0 auto 28px !important;
}

.restaurant-app-section__head h2,
.section-heading h2,
.woocommerce-products-header h1,
.entry-title {
	margin: 0 !important;
	color: var(--jv-ink) !important;
	font-family: var(--jv-font) !important;
	font-size: clamp(2.35rem, 4.8vw, 4.4rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

.restaurant-app-menu-grid,
.restaurant-app-step-grid,
.testimonial-track {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 18px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin-inline: auto !important;
}

.restaurant-app-menu-card,
.restaurant-app-step,
.testimonial-card,
.restaurant-app-story__copy,
.restaurant-app-offer__inner {
	overflow: hidden !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.restaurant-app-menu-card img {
	width: 100% !important;
	aspect-ratio: 1.28 / 1 !important;
	object-fit: cover !important;
}

.restaurant-app-menu-card__body,
.restaurant-app-step,
.testimonial-card {
	padding: 18px !important;
}

.restaurant-app-menu-card h3,
.restaurant-app-step h3,
.testimonial-card h3 {
	margin: 0 0 8px !important;
	color: var(--jv-ink) !important;
	font-size: 1.25rem !important;
	font-weight: 950 !important;
}

.restaurant-app-menu-card__price {
	color: var(--jv-ink) !important;
	font-weight: 950 !important;
}

.restaurant-app-story__grid,
.restaurant-app-offer__inner,
.restaurant-app-reviews__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr) !important;
	gap: 24px !important;
	align-items: center !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin-inline: auto !important;
}

.restaurant-app-story__image {
	overflow: hidden !important;
	border-radius: var(--jv-radius) !important;
	box-shadow: var(--jv-shadow) !important;
}

.restaurant-app-story__image img {
	width: 100% !important;
	aspect-ratio: 1.35 / 1 !important;
	object-fit: cover !important;
}

.restaurant-app-story__copy,
.restaurant-app-offer__inner {
	padding: clamp(22px, 4vw, 42px) !important;
}

.restaurant-app-story__facts {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
	margin-top: 20px !important;
}

.restaurant-app-story__facts div {
	padding: 14px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface-2) !important;
}

/* WooCommerce archive */
.woocommerce-products-header {
	padding: clamp(44px, 7vw, 82px) 16px 22px !important;
	text-align: center !important;
}

.restaurant-category-nav,
.menu-filter-pills {
	display: flex !important;
	gap: 8px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 0 auto 20px !important;
	padding: 0 !important;
	overflow-x: auto !important;
	scrollbar-width: none;
}

.restaurant-category-nav a,
.restaurant-category-nav span,
.menu-filter-pills a,
.menu-filter-pills span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	padding: 0 16px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.62) !important;
	color: var(--jv-ink) !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.restaurant-category-nav a.is-active,
.restaurant-category-nav a:hover,
.menu-filter-pills a:hover,
.menu-filter-pills a:first-child {
	background: var(--jv-teal) !important;
	color: #fff !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin: 0 !important;
}

.woocommerce-shop .shop-loop-header,
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering {
	padding: 14px 16px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 253, 249, 0.86) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.woocommerce-shop .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count {
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	min-height: 54px !important;
	margin: 0 calc(50% - min(var(--jv-shell), calc(100vw - 32px)) / 2) 0 !important;
	color: var(--jv-muted) !important;
}

.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering {
	float: right !important;
	display: block !important;
	width: min(300px, calc(100vw - 32px)) !important;
	margin: 0 calc(50% - min(var(--jv-shell), calc(100vw - 32px)) / 2) 0 16px !important;
}

.woocommerce-shop .woocommerce-ordering select,
.post-type-archive-product .woocommerce-ordering select {
	width: 100% !important;
}

ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 360px)) !important;
	justify-content: center !important;
	gap: 22px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 26px auto 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

ul.products li.product {
	display: grid !important;
	overflow: hidden !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface) !important;
	box-shadow: var(--jv-shadow-soft) !important;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

ul.products li.product:hover {
	border-color: rgba(217, 54, 42, 0.28) !important;
	transform: translateY(-3px) !important;
	box-shadow: var(--jv-shadow) !important;
}

ul.products li.product a.woocommerce-LoopProduct-link {
	display: grid !important;
	gap: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}

ul.products li.product img {
	width: 100% !important;
	aspect-ratio: 1.28 / 1 !important;
	margin: 0 !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3 {
	margin: 18px 18px 8px !important;
	color: var(--jv-ink) !important;
	font-family: var(--jv-font) !important;
	font-size: 1.32rem !important;
	font-weight: 950 !important;
	line-height: 1.16 !important;
	text-align: left !important;
}

.restaurant-card-meta,
.restaurant-product-badges {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 18px 12px !important;
	padding: 0 !important;
}

.restaurant-card-meta span,
.restaurant-product-badges li {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	padding: 0 10px !important;
	border-radius: 999px !important;
	background: rgba(19, 127, 72, 0.1) !important;
	color: var(--jv-green) !important;
	font-size: 0.82rem !important;
	font-weight: 850 !important;
}

ul.products li.product .price {
	display: block !important;
	margin: 0 18px 18px !important;
	color: var(--jv-ink) !important;
	font-size: 1.08rem !important;
	font-weight: 950 !important;
	text-align: left !important;
}

ul.products li.product .button {
	width: calc(100% - 36px) !important;
	margin: auto 18px 18px !important;
}

/* Single product */
.single-product div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr) !important;
	gap: clamp(28px, 4vw, 56px) !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 0 auto !important;
	padding: clamp(24px, 4vw, 56px) 0 76px !important;
}

.single-product .woocommerce-product-gallery {
	width: 100% !important;
	margin: 0 !important;
	position: relative !important;
	overflow: hidden !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface) !important;
	box-shadow: var(--jv-shadow) !important;
}

.single-product .woocommerce-product-gallery__trigger {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 5 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	overflow: hidden !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	color: var(--jv-ink) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.single-product .woocommerce-product-gallery__trigger::before {
	content: "" !important;
	display: block !important;
	width: 16px !important;
	height: 16px !important;
	border: 3px solid currentColor !important;
	border-radius: 50% !important;
}

.single-product .woocommerce-product-gallery__trigger::after {
	content: "" !important;
	position: absolute !important;
	width: 10px !important;
	height: 3px !important;
	border-radius: 99px !important;
	background: currentColor !important;
	transform: translate(10px, 10px) rotate(45deg) !important;
}

.single-product .woocommerce-product-gallery img {
	width: 100% !important;
	aspect-ratio: 1.18 / 1 !important;
	object-fit: cover !important;
}

.single-product .summary.entry-summary {
	position: sticky !important;
	top: 104px !important;
	align-self: start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: clamp(22px, 3vw, 36px) !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 250, 242, 0.96) !important;
	box-shadow: var(--jv-shadow) !important;
}

.single-product .product_title {
	margin: 0 0 10px !important;
	color: var(--jv-ink) !important;
	font-family: var(--jv-font) !important;
	font-size: clamp(2.7rem, 4.6vw, 4.25rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-transform: capitalize !important;
}

.single-product .summary .price {
	display: block !important;
	margin: 0 0 22px !important;
	color: #e84a12 !important;
	font-size: 1.35rem !important;
	font-weight: 950 !important;
}

.single-product form.cart {
	display: grid !important;
	grid-template-columns: 104px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: center !important;
	margin: 22px 0 !important;
}

.single-product form.cart .quantity,
.single-product form.cart .qty {
	width: 100% !important;
	margin: 0 !important;
}

.single-product .single_add_to_cart_button {
	width: 100% !important;
	background: var(--jv-green) !important;
	box-shadow: 0 16px 34px rgba(19, 127, 72, 0.22) !important;
}

.restaurant-product-meta,
.restaurant-product-assurance,
.restaurant-product-story,
.restaurant-recently-viewed {
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 253, 249, 0.88) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.restaurant-product-meta {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.restaurant-product-meta span {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 30px !important;
	padding: 0 11px !important;
	border: 1px solid rgba(19, 127, 72, 0.14) !important;
	border-radius: 999px !important;
	background: rgba(19, 127, 72, 0.08) !important;
	color: var(--jv-green) !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.restaurant-product-actions {
	position: absolute !important;
	top: 18px !important;
	left: 18px !important;
	right: 18px !important;
	z-index: 6 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	pointer-events: none !important;
}

.restaurant-product-actions a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-teal) !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: var(--jv-shadow-soft) !important;
	pointer-events: auto !important;
}

.restaurant-product-actions__back span {
	display: block !important;
	width: 14px !important;
	height: 14px !important;
	border-left: 3px solid currentColor !important;
	border-bottom: 3px solid currentColor !important;
	transform: rotate(45deg) translate(2px, -2px) !important;
}

.restaurant-product-actions svg {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
}

.single-product .product_meta,
.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells,
.single-product .restaurant-recently-viewed {
	display: none !important;
}

.restaurant-product-assurance {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	overflow: hidden !important;
}

.restaurant-product-assurance__item {
	padding: 16px !important;
	border-right: 1px solid var(--jv-line) !important;
}

.restaurant-product-assurance__item:last-child {
	border-right: 0 !important;
}

.restaurant-product-story {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 0 auto 48px !important;
	overflow: hidden !important;
}

.restaurant-product-story__card {
	padding: 22px !important;
	border-right: 1px solid var(--jv-line) !important;
}

.restaurant-product-story__card:last-child {
	border-right: 0 !important;
}

/* Cart and QR */
.woocommerce-cart .entry-content {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 22px !important;
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin: 0 auto !important;
	padding: clamp(18px, 3vw, 30px) !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 253, 249, 0.92) !important;
	box-shadow: var(--jv-shadow) !important;
}

.woocommerce-cart .entry-title {
	grid-column: 1 / -1 !important;
	margin-bottom: 10px !important;
	font-family: var(--jv-font) !important;
	font-size: clamp(2.7rem, 5vw, 4.4rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-align: center !important;
}

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart {
	display: grid !important;
	grid-column: 1 / -1 !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 22px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-cart-items tbody {
	display: grid !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 108px minmax(0, 1fr) auto !important;
	grid-template-areas:
		"image product total"
		"image product remove" !important;
	gap: 8px 18px !important;
	align-items: center !important;
	min-height: 136px !important;
	padding: 16px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: #fff !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.woocommerce-cart .wc-block-cart-items__row td {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-cart .wc-block-cart-item__image {
	grid-area: image !important;
}

.woocommerce-cart .wc-block-cart-item__image a,
.woocommerce-cart .wc-block-cart-item__image img {
	display: block !important;
	width: 108px !important;
	height: 108px !important;
	border-radius: var(--jv-radius) !important;
	object-fit: cover !important;
}

.woocommerce-cart .wc-block-cart-item__product {
	grid-area: product !important;
	min-width: 0 !important;
}

.woocommerce-cart .wc-block-cart-item__wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-areas:
		"name price"
		"qty qty" !important;
	gap: 8px 16px !important;
	align-items: center !important;
}

.woocommerce-cart .wc-block-components-product-name {
	grid-area: name !important;
	color: var(--jv-ink) !important;
	font-size: 1.08rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-components-product-price {
	grid-area: price !important;
	color: var(--jv-ink) !important;
	font-weight: 950 !important;
	white-space: nowrap !important;
}

.woocommerce-cart .wc-block-cart-item__quantity {
	grid-area: qty !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
}

.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-grid !important;
	grid-template-columns: 34px 42px 34px !important;
	min-width: 112px !important;
	height: 38px !important;
	border: 1px solid rgba(13, 146, 136, 0.22) !important;
	border-radius: 999px !important;
	background: rgba(13, 146, 136, 0.09) !important;
	overflow: hidden !important;
}

.woocommerce-cart .wc-block-components-quantity-selector::before {
	content: none !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button,
.woocommerce-cart .wc-block-components-quantity-selector input {
	min-height: 36px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--jv-teal) !important;
	font-weight: 950 !important;
	text-align: center !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link,
.woocommerce-cart button.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 82px !important;
	height: 38px !important;
	padding: 0 16px !important;
	border: 1px solid rgba(201, 54, 45, 0.24) !important;
	border-radius: 999px !important;
	background: rgba(201, 54, 45, 0.08) !important;
	color: transparent !important;
	font-size: 0 !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link::before,
.woocommerce-cart button.wc-block-cart-item__remove-link::before {
	content: "Remove" !important;
	color: var(--jv-danger) !important;
	font-size: 0.84rem !important;
	font-weight: 950 !important;
}

.woocommerce-cart .wc-block-cart-item__total {
	grid-area: total !important;
	justify-self: end !important;
	text-align: right !important;
}

.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart .wc-block-components-sidebar {
	position: sticky !important;
	top: 104px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: #fff !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
	padding: 20px 22px 14px !important;
	border-bottom: 1px solid var(--jv-line) !important;
	color: var(--jv-ink) !important;
	font-size: 1.2rem !important;
	font-weight: 950 !important;
}

.woocommerce-cart .wc-block-components-totals-wrapper {
	padding-right: 22px !important;
	padding-left: 22px !important;
	border-color: var(--jv-line) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item {
	padding-top: 26px !important;
	padding-bottom: 26px !important;
	color: var(--jv-ink) !important;
	font-size: 1.22rem !important;
	font-weight: 950 !important;
}

.woocommerce-cart .qr-order-button,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button {
	width: calc(100% - 44px) !important;
	margin: 18px 22px 22px !important;
	background: var(--jv-teal) !important;
	box-shadow: 0 16px 34px rgba(13, 146, 136, 0.22) !important;
}

.cart-qr-box {
	grid-column: 1 / -1 !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 244px !important;
	gap: 24px !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 24px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: linear-gradient(135deg, #fff 0, var(--jv-surface-2) 100%) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.cart-qr-box h2 {
	margin: 0 !important;
	color: var(--jv-ink) !important;
	font-family: var(--jv-font) !important;
	font-size: 1.45rem !important;
	font-weight: 950 !important;
	line-height: 1.15 !important;
}

.cart-qr-box p:not(.eyebrow) {
	max-width: 700px !important;
	color: var(--jv-muted) !important;
	font-weight: 700 !important;
}

.cart-qr-box__status,
.cart-qr-box__table {
	display: inline-flex !important;
	width: fit-content !important;
	margin: 12px 8px 0 0 !important;
	padding: 9px 12px !important;
	border-radius: 999px !important;
	background: rgba(13, 146, 136, 0.1) !important;
	color: #08766e !important;
	font-weight: 900 !important;
}

.restaurant-order-status-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
	margin-top: 18px !important;
}

.waiter-order-context-item,
.restaurant-order-timeline {
	padding: 14px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 253, 249, 0.88) !important;
	box-shadow: none !important;
}

.waiter-order-context-item span {
	display: block !important;
	color: var(--jv-muted) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
}

.waiter-order-context-item strong {
	color: #e84a12 !important;
	font-weight: 950 !important;
}

.restaurant-order-timeline {
	display: grid !important;
	gap: 8px !important;
	margin: 10px 0 0 !important;
	list-style: none !important;
}

.restaurant-order-timeline li {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
}

.cart-qr-box__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 18px !important;
}

.waiter-call-button {
	background: var(--jv-red) !important;
}

.cart-qr-box__code {
	justify-self: end !important;
	width: 244px !important;
	min-width: 244px !important;
	padding: 18px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: #fff !important;
	box-shadow: none !important;
}

/* Waiter app */
.waiter-pwa-view,
.waiter-order-view {
	background: var(--jv-bg) !important;
}

.waiter-app,
.waiter-order {
	width: min(1120px, calc(100vw - 32px)) !important;
	margin: 0 auto !important;
	padding: 24px 0 64px !important;
}

.waiter-app__header,
.waiter-app__scanner,
.waiter-app__manual,
.waiter-app__tools,
.waiter-app__tables,
.waiter-order__header,
.waiter-order-actions,
.waiter-order__summary,
.waiter-order__context,
.waiter-order__timeline,
.waiter-order-item {
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface) !important;
	box-shadow: var(--jv-shadow-soft) !important;
}

.waiter-app__header,
.waiter-order__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 18px !important;
	padding: 24px !important;
}

.waiter-app h1,
.waiter-order h1 {
	margin: 0 !important;
	font-family: var(--jv-font) !important;
	font-size: clamp(2.55rem, 5vw, 4.1rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

.waiter-app__tools,
.waiter-table-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
	gap: 12px !important;
	padding: 14px !important;
	margin-top: 16px !important;
}

.waiter-app-tool,
.waiter-table-card {
	display: grid !important;
	gap: 6px !important;
	padding: 14px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-surface-2) !important;
	color: var(--jv-ink) !important;
	text-decoration: none !important;
}

.waiter-app__scanner,
.waiter-app__manual,
.waiter-app__tables,
.waiter-order-actions,
.waiter-order__context,
.waiter-order__timeline,
.waiter-order__items {
	margin-top: 16px !important;
	padding: 18px !important;
}

.waiter-app__video-shell {
	overflow: hidden !important;
	max-height: 430px !important;
	border-radius: var(--jv-radius) !important;
	background: #090807 !important;
	aspect-ratio: 16 / 9 !important;
}

.waiter-app__video-shell video,
.waiter-app__video-shell canvas {
	display: block !important;
	width: 100% !important;
	min-height: 220px !important;
	object-fit: cover !important;
}

.waiter-app__controls {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
	gap: 10px !important;
	margin-top: 12px !important;
}

.waiter-order-actions {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
}

.waiter-order-actions__wide,
.waiter-order-actions__buttons {
	grid-column: 1 / -1 !important;
}

.waiter-order-actions__buttons {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
	gap: 10px !important;
}

/* Footer */
.site-footer {
	margin-top: 0 !important;
	padding: clamp(52px, 7vw, 84px) 0 28px !important;
	background: var(--jv-dark) !important;
	color: rgba(255, 255, 255, 0.72) !important;
}

.site-footer .container,
.site-footer__inner {
	width: min(var(--jv-shell), calc(100vw - 32px)) !important;
	margin-inline: auto !important;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.9) !important;
	text-decoration: none !important;
}

.site-footer a:hover {
	color: #fff !important;
}

.site-footer h2,
.footer-widget-title {
	color: #fff !important;
	font-size: 0.88rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

/* Mobile app-like shell */
@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px !important;
	}
}

@media (max-width: 760px) {
	body {
		background: var(--jv-bg) !important;
	}

	body:not(.home) .site-main {
		width: 100% !important;
		padding: 18px 14px 56px !important;
	}

	.header-main {
		grid-template-columns: auto 1fr auto auto !important;
		width: calc(100vw - 28px) !important;
		min-height: 76px !important;
	}

	.custom-logo {
		max-width: 94px !important;
		max-height: 48px !important;
	}

	.primary-navigation {
		display: none !important;
	}

	.menu-toggle {
		display: inline-flex !important;
		flex-direction: column !important;
	}

	.header-actions {
		gap: 8px !important;
	}

	.header-language-chooser {
		display: none !important;
	}

	.cart-link,
	.menu-toggle {
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
	}

	.restaurant-app-nav {
		position: absolute !important;
		top: 16px !important;
		display: flex !important;
		justify-content: flex-start !important;
		width: calc(100vw - 28px) !important;
		border-radius: var(--jv-radius) !important;
		background: rgba(22, 13, 9, 0.52) !important;
		box-shadow: none !important;
	}

	.restaurant-app-nav__links,
	.restaurant-app-nav__order {
		display: none !important;
	}

	.restaurant-app-hero {
		min-height: 100svh !important;
		padding: 112px 14px 48px !important;
	}

	.restaurant-app-hero h1 {
		font-size: clamp(4rem, 17vw, 5.2rem) !important;
	}

	.restaurant-app-hero p {
		font-size: 1rem !important;
	}

	.restaurant-app-hero__actions,
	.restaurant-app-hero__panel,
	.restaurant-app-story__facts {
		grid-template-columns: 1fr !important;
	}

	.restaurant-app-hero__actions {
		display: grid !important;
		gap: 12px !important;
	}

	.restaurant-app-button,
	.restaurant-app-hero__actions a {
		width: 100% !important;
	}

	.restaurant-app-section,
	.restaurant-app-offer,
	.restaurant-app-reviews {
		padding: 48px 14px !important;
	}

	.restaurant-app-section__head,
	.section-heading,
	.restaurant-app-story__grid,
	.restaurant-app-offer__inner,
	.restaurant-app-reviews__inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	.restaurant-app-section__head h2,
	.section-heading h2,
	.woocommerce-products-header h1,
	.entry-title {
		font-size: clamp(2.7rem, 12vw, 3.8rem) !important;
	}

	.woocommerce-products-header {
		padding: 22px 14px 10px !important;
		text-align: left !important;
	}

	.woocommerce-products-header h1 {
		width: calc(100vw - 28px) !important;
		margin-inline: auto !important;
	}

	.woocommerce-shop .woocommerce-result-count,
	.post-type-archive-product .woocommerce-result-count,
	.woocommerce-shop .woocommerce-ordering,
	.post-type-archive-product .woocommerce-ordering {
		float: none !important;
		display: block !important;
		width: calc(100vw - 28px) !important;
		margin: 12px auto !important;
	}

	ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		width: min(100%, 362px) !important;
		gap: 16px !important;
	}

	.single-product div.product {
		display: block !important;
		width: 100% !important;
		padding: 0 0 44px !important;
	}

	.single-product .woocommerce-product-gallery {
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.single-product .summary.entry-summary {
		position: relative !important;
		top: auto !important;
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
		margin: 0 !important;
		margin-inline: auto !important;
		padding: 22px !important;
		border-radius: var(--jv-radius) var(--jv-radius) 0 0 !important;
		box-shadow: none !important;
	}

	.restaurant-product-actions {
		top: 16px !important;
		left: 28px !important;
		right: 28px !important;
	}

	.single-product .product_title {
		font-size: clamp(3.35rem, 14vw, 4.5rem) !important;
	}

	.single-product form.cart {
		grid-template-columns: 1fr !important;
	}

	.restaurant-product-assurance,
	.restaurant-product-story {
		grid-template-columns: 1fr !important;
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
		margin-inline: auto !important;
	}

	.restaurant-product-assurance__item,
	.restaurant-product-story__card {
		border-right: 0 !important;
		border-bottom: 1px solid var(--jv-line) !important;
	}

	.woocommerce-cart .entry-content,
	.woocommerce-cart .wp-block-woocommerce-cart,
	.woocommerce-cart .wc-block-cart {
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	.woocommerce-cart .entry-content {
		padding: 16px !important;
	}

	.woocommerce-cart .entry-title {
		font-size: clamp(2.85rem, 13vw, 3.8rem) !important;
	}

	.woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image total"
			"image remove" !important;
		gap: 8px 14px !important;
		min-height: 136px !important;
		padding: 14px !important;
	}

	.woocommerce-cart .wc-block-cart-item__image a,
	.woocommerce-cart .wc-block-cart-item__image img {
		width: 92px !important;
		height: 92px !important;
	}

	.woocommerce-cart .wc-block-cart-item__wrap {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"name"
			"price"
			"qty" !important;
		gap: 6px !important;
		text-align: left !important;
	}

	.woocommerce-cart .wc-block-cart-item__total {
		justify-self: start !important;
		text-align: left !important;
	}

	.woocommerce-cart .wc-block-cart__sidebar,
	.woocommerce-cart .wc-block-components-sidebar {
		position: static !important;
	}

	.cart-qr-box {
		grid-template-columns: 1fr !important;
		padding: 18px !important;
	}

	.restaurant-order-status-grid,
	.waiter-order-actions {
		grid-template-columns: 1fr !important;
	}

	.cart-qr-box__code {
		justify-self: center !important;
		width: 220px !important;
		min-width: 220px !important;
	}

	.waiter-app,
	.waiter-order {
		width: calc(100vw - 28px) !important;
		padding-top: 14px !important;
	}

	.waiter-app__header,
	.waiter-order__header {
		display: grid !important;
	}

	.site-footer {
		padding: 46px 0 24px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Final app behavior cleanup. */
[hidden],
.waiter-app__controls [hidden],
.waiter-app__install[hidden] {
	display: none !important;
}

body:not(.home) .custom-logo {
	filter: brightness(0) invert(1) contrast(1.08) !important;
	opacity: 0.96 !important;
}

.restaurant-app-hero__panel span {
	display: block !important;
	margin-top: 4px !important;
	font-family: var(--jv-font-sans) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	color: rgba(255, 247, 233, 0.72) !important;
	text-transform: uppercase !important;
}

.restaurant-product-assurance__item {
	display: grid !important;
	align-content: start !important;
	gap: 6px !important;
}

.restaurant-product-assurance__item > * {
	display: block !important;
	margin: 0 !important;
}

.restaurant-product-assurance__item strong,
.restaurant-product-assurance__item b,
.restaurant-product-assurance__item h3 {
	font-size: 1rem !important;
	line-height: 1.2 !important;
	color: var(--jv-ink) !important;
}

.restaurant-product-assurance__item span,
.restaurant-product-assurance__item p {
	font-size: 0.86rem !important;
	line-height: 1.45 !important;
	color: var(--jv-muted) !important;
}

@media (max-width: 760px) {
	body.woocommerce-shop.restaurant-app-ui,
	body.tax-product_cat.restaurant-app-ui,
	body.tax-product_tag.restaurant-app-ui,
	body.single-product.restaurant-app-ui,
	body.woocommerce-cart.restaurant-app-ui,
	body.woocommerce-checkout.restaurant-app-ui {
		overflow-x: hidden !important;
		padding: 0 !important;
		background: var(--jv-paper) !important;
	}

	body.woocommerce-shop.restaurant-app-ui .site-header,
	body.tax-product_cat.restaurant-app-ui .site-header,
	body.tax-product_tag.restaurant-app-ui .site-header,
	body.single-product.restaurant-app-ui .site-header,
	body.woocommerce-cart.restaurant-app-ui .site-header,
	body.woocommerce-checkout.restaurant-app-ui .site-header {
		display: block !important;
		position: sticky !important;
		top: 0 !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 78px !important;
		margin: 0 !important;
		padding: 12px 14px !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	body.woocommerce-shop.restaurant-app-ui .site-header .container,
	body.tax-product_cat.restaurant-app-ui .site-header .container,
	body.tax-product_tag.restaurant-app-ui .site-header .container,
	body.single-product.restaurant-app-ui .site-header .container,
	body.woocommerce-cart.restaurant-app-ui .site-header .container,
	body.woocommerce-checkout.restaurant-app-ui .site-header .container {
		display: flex !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 54px !important;
		margin: 0 !important;
		padding: 0 !important;
		align-items: center !important;
		justify-content: space-between !important;
	}

	body.woocommerce-shop.restaurant-app-ui .site-main,
	body.tax-product_cat.restaurant-app-ui .site-main,
	body.tax-product_tag.restaurant-app-ui .site-main,
	body.single-product.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-app-ui .site-main,
	body.woocommerce-checkout.restaurant-app-ui .site-main {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 22px 14px 56px !important;
		transform: none !important;
	}

	body.woocommerce-shop.restaurant-app-ui .shop-shell,
	body.tax-product_cat.restaurant-app-ui .shop-shell,
	body.tax-product_tag.restaurant-app-ui .shop-shell,
	body.single-product.restaurant-app-ui .content-layout,
	body.single-product.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-app-ui .content-layout,
	body.woocommerce-cart.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-app-ui .page-entry,
	body.woocommerce-cart.restaurant-app-ui .entry-content,
	body.woocommerce-cart.restaurant-app-ui .wp-block-woocommerce-cart,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart__main,
	body.woocommerce-cart.restaurant-app-ui .wc-block-components-main,
	body.woocommerce-cart.restaurant-app-ui .wc-block-components-sidebar,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart__sidebar {
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.woocommerce-cart.restaurant-app-ui .entry-content {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding: 16px !important;
		border-radius: var(--jv-radius) !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products.products,
	body.tax-product_cat.restaurant-app-ui ul.products.products,
	body.tax-product_tag.restaurant-app-ui ul.products.products,
	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 390px !important;
		margin: 0 auto !important;
		padding: 0 !important;
		gap: 16px !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products.products li.product,
	body.tax-product_cat.restaurant-app-ui ul.products.products li.product,
	body.tax-product_tag.restaurant-app-ui ul.products.products li.product,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product,
	body.tax-product_cat.restaurant-app-ui ul.products li.product,
	body.tax-product_tag.restaurant-app-ui ul.products li.product {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding-bottom: 16px !important;
		overflow: hidden !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products.products li.product .button,
	body.tax-product_cat.restaurant-app-ui ul.products.products li.product .button,
	body.tax-product_tag.restaurant-app-ui ul.products.products li.product .button,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .button,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .button,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .button,
	body.woocommerce-shop.restaurant-app-ui ul.products.products li.product .add_to_cart_button,
	body.tax-product_cat.restaurant-app-ui ul.products.products li.product .add_to_cart_button,
	body.tax-product_tag.restaurant-app-ui ul.products.products li.product .add_to_cart_button {
		display: inline-flex !important;
		position: static !important;
		width: calc(100% - 28px) !important;
		height: 48px !important;
		min-height: 48px !important;
		margin: 12px 14px 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		pointer-events: auto !important;
	}

	body.single-product.restaurant-app-ui div.product {
		display: grid !important;
		grid-template-columns: 1fr !important;
		box-sizing: border-box !important;
		width: min(100%, 520px) !important;
		max-width: calc(100vw - 28px) !important;
		margin: 0 auto !important;
		padding: 0 !important;
		gap: 0 !important;
		overflow: hidden !important;
	}

	body.single-product.restaurant-app-ui div.product div.images,
	body.single-product.restaurant-app-ui .woocommerce-product-gallery,
	body.single-product.restaurant-app-ui .woocommerce-product-gallery__wrapper,
	body.single-product.restaurant-app-ui .woocommerce-product-gallery__image,
	body.single-product.restaurant-app-ui .woocommerce-product-gallery__image a,
	body.single-product.restaurant-app-ui div.product div.images img,
	body.single-product.restaurant-app-ui div.product div.images .zoomImg {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		transform: none !important;
	}

	body.single-product.restaurant-app-ui div.product div.summary,
	body.single-product.restaurant-app-ui .summary.entry-summary {
		position: static !important;
		display: grid !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 20px !important;
		transform: none !important;
		overflow: hidden !important;
	}

	body.woocommerce-cart.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-app-ui .page-entry {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.woocommerce-cart.restaurant-app-ui .entry-title {
		font-size: clamp(2.45rem, 12vw, 3.2rem) !important;
		line-height: 0.98 !important;
		margin: 0 0 16px !important;
		padding: 0 2px !important;
		text-align: left !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-items__row {
		overflow: visible !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-components-sidebar,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart__sidebar {
		border-radius: var(--jv-radius) !important;
	}

	body.woocommerce-shop.restaurant-app-ui .site-footer,
	body.tax-product_cat.restaurant-app-ui .site-footer,
	body.tax-product_tag.restaurant-app-ui .site-footer,
	body.single-product.restaurant-app-ui .site-footer,
	body.woocommerce-cart.restaurant-app-ui .site-footer,
	body.woocommerce-checkout.restaurant-app-ui .site-footer {
		display: block !important;
		position: static !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
}

@media (max-width: 760px) {
	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav {
		width: calc(100% - 28px) !important;
		max-width: 390px !important;
		height: auto !important;
		margin: 14px auto 16px !important;
		padding: 8px !important;
		gap: 8px !important;
		border: 1px solid var(--jv-line) !important;
		border-radius: var(--jv-radius) !important;
		background: rgba(255, 253, 249, 0.94) !important;
		box-shadow: var(--jv-shadow-soft) !important;
		overflow-x: auto !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a,
	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav span,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav span,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav span {
		min-height: 40px !important;
		padding: 0 14px !important;
		border-radius: 999px !important;
		background: transparent !important;
		font-size: 0.92rem !important;
		white-space: nowrap !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a.is-active,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a.is-active,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a.is-active,
	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a:hover,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a:hover,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a:hover {
		background: var(--jv-green) !important;
		color: #fff !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products.products,
	body.tax-product_cat.restaurant-app-ui ul.products.products,
	body.tax-product_tag.restaurant-app-ui ul.products.products,
	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products {
		width: calc(100% - 28px) !important;
		max-width: 390px !important;
		background: transparent !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products.products li.product,
	body.tax-product_cat.restaurant-app-ui ul.products.products li.product,
	body.tax-product_tag.restaurant-app-ui ul.products.products li.product,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product,
	body.tax-product_cat.restaurant-app-ui ul.products li.product,
	body.tax-product_tag.restaurant-app-ui ul.products li.product {
		border: 1px solid var(--jv-line) !important;
		background: #fff !important;
		box-shadow: var(--jv-shadow-soft) !important;
	}

	body.single-product.restaurant-app-ui {
		padding-bottom: 96px !important;
	}

body.single-product.restaurant-app-ui .restaurant-recently-viewed {
		display: none !important;
	}

	body.single-product.restaurant-app-ui .summary.entry-summary > *,
	body.single-product.restaurant-app-ui .summary.entry-summary form.cart,
	body.single-product.restaurant-app-ui .summary.entry-summary .quantity,
	body.single-product.restaurant-app-ui .summary.entry-summary .qty,
	body.single-product.restaurant-app-ui .restaurant-product-assurance,
	body.single-product.restaurant-app-ui .restaurant-product-story {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.single-product.restaurant-app-ui .single_add_to_cart_button {
		background: var(--jv-green) !important;
		box-shadow: 0 16px 34px rgba(0, 125, 117, 0.2) !important;
	}

	body.single-product.restaurant-app-ui .summary.entry-summary .restaurant-product-meta {
		display: inline-flex !important;
		width: auto !important;
		max-width: 100% !important;
		margin-bottom: 12px !important;
	}
}

/* Reusable restaurant app landing overrides. */
.restaurant-app-landing {
	--jv-red: #df3b2f;
	--jv-teal: #007d75;
	--jv-green: #007d75;
	--jv-dark: #151210;
	--jv-bg: #f4f1eb;
	background: #f4f1eb !important;
}

.restaurant-app-landing .restaurant-app-nav {
	border-radius: 8px !important;
	background: rgba(21, 18, 16, 0.92) !important;
}

.restaurant-app-landing .restaurant-app-brand__mark {
	border-radius: 8px !important;
	font-family: var(--jv-font-sans) !important;
}

.restaurant-app-landing .restaurant-app-hero {
	min-height: 92vh !important;
	background:
		linear-gradient(180deg, rgba(244, 241, 235, 0.04), rgba(244, 241, 235, 0.04)),
		#171310 !important;
}

.restaurant-app-landing .restaurant-app-hero__media img {
	opacity: 0.16 !important;
	filter: saturate(0.2) blur(1px) !important;
}

.restaurant-app-landing .restaurant-app-hero::before {
	background:
		linear-gradient(90deg, rgba(16, 13, 11, 0.96) 0, rgba(16, 13, 11, 0.9) 46%, rgba(16, 13, 11, 0.58) 100%),
		linear-gradient(180deg, rgba(16, 13, 11, 0.18) 0, rgba(16, 13, 11, 0.82) 100%) !important;
}

.restaurant-app-landing .restaurant-app-hero__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(340px, 0.66fr) !important;
	align-items: center !important;
	gap: clamp(28px, 6vw, 72px) !important;
}

.restaurant-app-landing .restaurant-app-hero__copy {
	max-width: 760px !important;
}

.restaurant-app-landing .restaurant-app-hero h1 {
	max-width: 760px !important;
	font-family: var(--jv-font-sans) !important;
	font-size: clamp(3.2rem, 6.2vw, 6.5rem) !important;
	font-weight: 950 !important;
	line-height: 0.95 !important;
}

.restaurant-app-landing .restaurant-app-hero p {
	max-width: 660px !important;
	font-size: 1.06rem !important;
}

.restaurant-app-landing .restaurant-app-hero__panel {
	position: relative !important;
	grid-template-columns: 1fr !important;
	align-self: stretch !important;
	max-width: none !important;
	margin-top: 0 !important;
	padding: 14px !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	border-radius: 8px !important;
	background: rgba(255, 253, 249, 0.08) !important;
}

.restaurant-app-landing .restaurant-app-hero__panel::before {
	content: "Live restaurant console" !important;
	display: block !important;
	padding: 12px 14px !important;
	border-radius: 6px !important;
	background: rgba(255, 253, 249, 0.94) !important;
	color: #151210 !important;
	font-size: 0.86rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

.restaurant-app-landing .restaurant-app-hero__panel div {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 16px !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 8px !important;
	background: rgba(255, 253, 249, 0.94) !important;
}

.restaurant-app-landing .restaurant-app-hero__panel strong {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 64px !important;
	height: 64px !important;
	border-radius: 8px !important;
	background: rgba(0, 125, 117, 0.12) !important;
	color: var(--jv-teal) !important;
	font-family: var(--jv-font-sans) !important;
	font-size: 1rem !important;
}

.restaurant-app-landing .restaurant-app-hero__panel span {
	margin: 0 !important;
	color: #4f4a43 !important;
	font-size: 0.9rem !important;
	line-height: 1.3 !important;
}

.restaurant-app-landing .restaurant-app-section__head h2,
.restaurant-app-landing .restaurant-app-offer h2,
.restaurant-app-landing .restaurant-app-story__copy h2,
.restaurant-app-landing .restaurant-app-steps h2 {
	font-family: var(--jv-font-sans) !important;
	font-size: clamp(2.35rem, 4.8vw, 4.8rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

.restaurant-app-landing .restaurant-app-menu-card img {
	display: none !important;
}

.restaurant-app-landing .restaurant-app-menu-card {
	display: grid !important;
	min-height: 270px !important;
}

.restaurant-app-landing .restaurant-app-menu-card::before {
	content: "" !important;
	display: block !important;
	height: 8px !important;
	background: linear-gradient(90deg, var(--jv-teal), var(--jv-red)) !important;
}

.restaurant-app-landing .restaurant-app-menu-card__body {
	display: grid !important;
	align-content: space-between !important;
	min-height: 260px !important;
}

.restaurant-app-landing .restaurant-app-story__image {
	display: grid !important;
	min-height: 420px !important;
	padding: 18px !important;
	background: #171310 !important;
}

.restaurant-app-landing .restaurant-app-story__image img {
	display: none !important;
}

.restaurant-app-landing .restaurant-app-story__image::before,
.restaurant-app-landing .restaurant-app-story__image::after {
	content: "" !important;
	display: block !important;
	border-radius: 8px !important;
}

.restaurant-app-landing .restaurant-app-story__image::before {
	min-height: 190px !important;
	background:
		linear-gradient(#fff 0 0) 20px 22px / 44% 16px no-repeat,
		linear-gradient(#e9e2d7 0 0) 20px 56px / 70% 10px no-repeat,
		linear-gradient(#007d75 0 0) 20px 96px / 32% 42px no-repeat,
		linear-gradient(#df3b2f 0 0) calc(100% - 138px) 96px / 118px 42px no-repeat,
		rgba(255, 253, 249, 0.96) !important;
}

.restaurant-app-landing .restaurant-app-story__image::after {
	min-height: 150px !important;
	margin-top: 14px !important;
	background:
		linear-gradient(#171310 0 0) 20px 22px / 36% 14px no-repeat,
		linear-gradient(#e5ddd1 0 0) 20px 58px / 82% 1px no-repeat,
		linear-gradient(#007d75 0 0) 20px 82px / 18px 18px no-repeat,
		linear-gradient(#171310 0 0) 52px 82px / 52% 14px no-repeat,
		linear-gradient(#df3b2f 0 0) 20px 114px / 18px 18px no-repeat,
		linear-gradient(#171310 0 0) 52px 114px / 44% 14px no-repeat,
		rgba(255, 253, 249, 0.96) !important;
}

.restaurant-app-landing .restaurant-app-story__facts span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 0 12px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--jv-ink) !important;
	font-weight: 900 !important;
	text-align: center !important;
}

@media (max-width: 760px) {
	.restaurant-app-landing .restaurant-app-hero {
		min-height: auto !important;
		padding: 110px 14px 44px !important;
	}

	.restaurant-app-landing .restaurant-app-hero__inner {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}

	.restaurant-app-landing .restaurant-app-hero h1 {
		font-size: clamp(2.85rem, 11vw, 4rem) !important;
	}

	.restaurant-app-landing .restaurant-app-hero__panel {
		width: 100% !important;
	}

	.restaurant-app-landing .restaurant-app-hero__panel div {
		grid-template-columns: 58px minmax(0, 1fr) !important;
		padding: 12px !important;
	}

	.restaurant-app-landing .restaurant-app-hero__panel strong {
		width: 52px !important;
		height: 52px !important;
	}

	.restaurant-app-landing .restaurant-app-menu-card,
	.restaurant-app-landing .restaurant-app-menu-card__body,
	.restaurant-app-landing .restaurant-app-story__image {
		min-height: auto !important;
	}
}

/* 2026 final app polish: mobile rails, cart rows, forms, and staff actions. */
@media (max-width: 760px) {
	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		overflow: visible !important;
		mask-image: none !important;
		-webkit-mask-image: none !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a {
		width: 100% !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
		text-align: center !important;
	}

	.single-product .woocommerce-product-gallery__trigger {
		display: none !important;
	}

	body.single-product.restaurant-app-ui .restaurant-product-actions {
		top: 16px !important;
		left: 28px !important;
		right: 28px !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 96px minmax(0, 1fr) !important;
		grid-template-areas: "image product" !important;
		gap: 14px !important;
		align-items: center !important;
		min-height: 150px !important;
		padding: 16px !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-items__row td {
		display: block !important;
		padding: 0 !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__image {
		grid-area: image !important;
		align-self: center !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__image img {
		width: 96px !important;
		height: 96px !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__product {
		grid-area: product !important;
		align-self: center !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__wrap {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"name"
			"price"
			"qty" !important;
		justify-items: start !important;
		gap: 8px !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-items__row .wc-block-cart-item__total,
	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-items__row td.wc-block-cart-item__total {
		display: none !important;
	}

	body.woocommerce-shop.restaurant-app-ui .woocommerce-loop-product__title,
	body.woocommerce-cart.restaurant-app-ui .wc-block-components-product-name {
		text-align: left !important;
		text-transform: capitalize !important;
	}

	body.woocommerce-cart.restaurant-app-ui .wc-block-cart-item__quantity {
		justify-content: flex-start !important;
	}

	body.waiter-pwa-view .button--primary,
	body.waiter-pwa-view .waiter-app__controls .button--primary {
		background: var(--jv-teal) !important;
		box-shadow: 0 16px 34px rgba(13, 146, 136, 0.22) !important;
	}

	body.woocommerce-account .woocommerce-form,
	body.woocommerce-account form.login,
	body.woocommerce-account form.register {
		padding: 22px !important;
		border: 1px solid var(--jv-line) !important;
		border-radius: var(--jv-radius) !important;
		background: rgba(255, 253, 249, 0.92) !important;
		box-shadow: var(--jv-shadow-soft) !important;
	}

	body.woocommerce-account .woocommerce-form-row,
	body.woocommerce-account .form-row {
		margin-bottom: 16px !important;
	}

	body.woocommerce-account .woocommerce-form label,
	body.woocommerce-account form.login label,
	body.woocommerce-account form.register label {
		color: var(--jv-muted) !important;
		font-size: 0.92rem !important;
		font-weight: 800 !important;
	}

	body.woocommerce-account .woocommerce-button,
	body.woocommerce-account button.button {
		background: var(--jv-teal) !important;
		box-shadow: 0 16px 34px rgba(13, 146, 136, 0.2) !important;
	}

	body.woocommerce-account .show-password-input {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		margin-top: -21px !important;
		border-radius: 999px !important;
	}
}

/* Customer-brandable QR restaurant website redesign. */
.front-page.restaurant-app-landing {
	--jv-dark: #101514;
	--jv-dark-2: #18211f;
	--jv-muted: color-mix(in srgb, var(--jv-ink) 62%, #fff);
	--jv-line: color-mix(in srgb, var(--jv-ink) 14%, transparent);
	--jv-line-strong: color-mix(in srgb, var(--jv-ink) 24%, transparent);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--jv-bg) 94%, #fff) 0, var(--jv-bg) 42%, color-mix(in srgb, var(--jv-bg) 88%, var(--jv-teal)) 100%) !important;
}

.restaurant-app-landing .restaurant-app-nav {
	grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto !important;
	border-color: rgba(255, 255, 255, 0.18) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(16, 21, 20, 0.92) !important;
}

.restaurant-app-landing .restaurant-app-brand {
	min-width: 0 !important;
}

.restaurant-app-landing .restaurant-app-brand > span:last-child {
	overflow: hidden !important;
	max-width: 260px !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.restaurant-app-landing .restaurant-app-nav__links {
	min-width: 0 !important;
}

.restaurant-app-landing .restaurant-app-nav__order,
.restaurant-app-landing .restaurant-app-button--primary,
.restaurant-app-landing .restaurant-app-console__link {
	background: var(--jv-teal) !important;
	box-shadow: 0 16px 34px color-mix(in srgb, var(--jv-teal) 26%, transparent) !important;
}

.restaurant-app-landing .restaurant-app-nav__order:hover,
.restaurant-app-landing .restaurant-app-button--primary:hover,
.restaurant-app-landing .restaurant-app-console__link:hover {
	background: color-mix(in srgb, var(--jv-teal) 82%, #000) !important;
}

.restaurant-app-landing .restaurant-app-hero {
	min-height: 88vh !important;
	padding: 118px 16px 64px !important;
	background: var(--jv-dark) !important;
}

.restaurant-app-landing .restaurant-app-hero__media img {
	opacity: 0.58 !important;
	filter: saturate(0.85) contrast(1.04) !important;
}

.restaurant-app-landing .restaurant-app-hero::before {
	background:
		linear-gradient(90deg, rgba(10, 14, 13, 0.94) 0, rgba(10, 14, 13, 0.76) 48%, rgba(10, 14, 13, 0.34) 100%),
		linear-gradient(180deg, rgba(10, 14, 13, 0.28) 0, rgba(10, 14, 13, 0.88) 100%) !important;
}

.restaurant-app-landing .restaurant-app-hero__inner {
	grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.54fr) !important;
	gap: 54px !important;
}

.restaurant-app-landing .restaurant-app-hero__copy {
	max-width: 760px !important;
}

.restaurant-app-landing .restaurant-app-hero h1 {
	max-width: 780px !important;
	font-size: 5.4rem !important;
	line-height: 0.94 !important;
}

.restaurant-app-landing .restaurant-app-hero__copy > p:not(.restaurant-app-kicker) {
	max-width: 660px !important;
	margin-top: 22px !important;
	font-size: 1.08rem !important;
}

.restaurant-app-hero__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 24px !important;
}

.restaurant-app-hero__meta span {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 38px !important;
	padding: 0 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 255, 255, 0.09) !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 0.88rem !important;
	font-weight: 850 !important;
}

.restaurant-app-console {
	position: relative !important;
	display: grid !important;
	gap: 14px !important;
	align-self: center !important;
	padding: 16px !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 255, 255, 0.11) !important;
	backdrop-filter: blur(16px);
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.32) !important;
}

.restaurant-app-console__top,
.restaurant-app-console__order,
.restaurant-app-console__link {
	border-radius: var(--jv-radius) !important;
}

.restaurant-app-console__top,
.restaurant-app-console__order {
	display: grid !important;
	gap: 8px !important;
	padding: 16px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	color: var(--jv-ink) !important;
}

.restaurant-app-console__top span,
.restaurant-app-console__order span {
	color: var(--jv-muted) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
}

.restaurant-app-console__top strong,
.restaurant-app-console__order strong {
	color: var(--jv-ink) !important;
	font-size: 1rem !important;
	line-height: 1.2 !important;
}

.restaurant-app-console__qr {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 8px !important;
	aspect-ratio: 1 !important;
	padding: 18px !important;
	border: 10px solid #fff !important;
	border-radius: var(--jv-radius) !important;
	background: #fff !important;
}

.restaurant-app-console__qr span {
	min-height: 0 !important;
	border-radius: 3px !important;
	background: var(--jv-dark) !important;
}

.restaurant-app-console__qr span:nth-child(2n),
.restaurant-app-console__qr span:nth-child(7),
.restaurant-app-console__qr span:nth-child(13) {
	background: color-mix(in srgb, var(--jv-teal) 82%, #000) !important;
}

.restaurant-app-console__qr span:nth-child(4),
.restaurant-app-console__qr span:nth-child(6),
.restaurant-app-console__qr span:nth-child(11) {
	opacity: 0.16 !important;
}

.restaurant-app-console__order {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.restaurant-app-console__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	color: #fff !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

.restaurant-app-landing .restaurant-app-section {
	background: transparent !important;
}

.restaurant-app-landing .restaurant-app-section__head {
	align-items: flex-end !important;
}

.restaurant-app-landing .restaurant-app-section__head > div {
	max-width: 800px !important;
}

.restaurant-app-landing .restaurant-app-section__head h2,
.restaurant-app-landing .restaurant-app-offer h2,
.restaurant-app-landing .restaurant-app-story__copy h2,
.restaurant-app-landing .restaurant-app-steps h2 {
	font-size: 3.55rem !important;
	line-height: 1 !important;
}

.restaurant-app-landing .restaurant-app-section__head > a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid var(--jv-line-strong) !important;
	border-radius: var(--jv-radius) !important;
	background: rgba(255, 255, 255, 0.72) !important;
	color: var(--jv-ink) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.restaurant-app-landing .restaurant-app-menu-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.restaurant-app-landing .restaurant-app-menu-card {
	min-height: 320px !important;
	border-color: var(--jv-line) !important;
	background: rgba(255, 255, 255, 0.88) !important;
}

.restaurant-app-menu-card__meta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	min-height: 32px !important;
	padding: 0 10px !important;
	border-radius: var(--jv-radius) !important;
	background: color-mix(in srgb, var(--jv-teal) 12%, #fff) !important;
	color: color-mix(in srgb, var(--jv-teal) 82%, #000) !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

.restaurant-app-landing .restaurant-app-menu-card__body {
	gap: 16px !important;
	min-height: 312px !important;
	padding: 22px !important;
}

.restaurant-app-landing .restaurant-app-menu-card__body > div {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-top: auto !important;
}

.restaurant-app-landing .restaurant-app-menu-card__body a {
	color: var(--jv-teal) !important;
	font-weight: 950 !important;
}

.restaurant-app-landing .restaurant-app-offer {
	background: var(--jv-dark) !important;
	color: #fff !important;
}

.restaurant-app-landing .restaurant-app-offer__inner {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.56fr) auto !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	background: transparent !important;
	box-shadow: none !important;
}

.restaurant-app-landing .restaurant-app-offer h2,
.restaurant-app-landing .restaurant-app-offer p {
	color: #fff !important;
}

.restaurant-app-landing .restaurant-app-button--dark {
	background: var(--jv-red) !important;
	box-shadow: 0 16px 34px color-mix(in srgb, var(--jv-red) 22%, transparent) !important;
}

.restaurant-app-landing .restaurant-app-story__grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(330px, 0.72fr) !important;
}

.restaurant-app-landing .restaurant-app-story__image {
	min-height: 460px !important;
	padding: 0 !important;
	background: var(--jv-dark) !important;
}

.restaurant-app-landing .restaurant-app-story__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 460px !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	opacity: 0.92 !important;
}

.restaurant-app-landing .restaurant-app-story__image::before,
.restaurant-app-landing .restaurant-app-story__image::after {
	display: none !important;
}

.restaurant-app-landing .restaurant-app-story__copy {
	background: rgba(255, 255, 255, 0.88) !important;
}

.restaurant-app-landing .restaurant-app-story__facts {
	grid-template-columns: 1fr !important;
}

.restaurant-app-landing .restaurant-app-story__facts span,
.restaurant-app-landing .restaurant-app-story__facts a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 46px !important;
	padding: 0 14px !important;
	border: 1px solid var(--jv-line) !important;
	border-radius: var(--jv-radius) !important;
	background: #fff !important;
	color: var(--jv-ink) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.restaurant-app-landing .restaurant-app-step-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.restaurant-app-landing .restaurant-app-step {
	background: rgba(255, 255, 255, 0.82) !important;
}

.restaurant-app-landing .restaurant-app-step > span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	margin-bottom: 18px !important;
	border-radius: var(--jv-radius) !important;
	background: var(--jv-dark) !important;
	color: #fff !important;
	font-weight: 950 !important;
}

@media (max-width: 1060px) {
	.restaurant-app-landing .restaurant-app-hero h1 {
		font-size: 4.3rem !important;
	}

	.restaurant-app-landing .restaurant-app-hero__inner,
	.restaurant-app-landing .restaurant-app-story__grid,
	.restaurant-app-landing .restaurant-app-offer__inner {
		grid-template-columns: 1fr !important;
	}

	.restaurant-app-landing .restaurant-app-console {
		max-width: 520px !important;
	}

	.restaurant-app-landing .restaurant-app-menu-grid,
	.restaurant-app-landing .restaurant-app-step-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.restaurant-app-landing .restaurant-app-shell,
	.restaurant-app-landing .restaurant-app-hero__inner,
	.restaurant-app-landing .restaurant-app-hero__copy,
	.restaurant-app-landing .restaurant-app-console,
	.restaurant-app-landing .restaurant-app-console__qr,
	.restaurant-app-landing .restaurant-app-menu-grid,
	.restaurant-app-landing .restaurant-app-step-grid {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.restaurant-app-landing .restaurant-app-nav {
		top: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		min-height: 58px !important;
		padding: 8px !important;
	}

	.restaurant-app-landing .restaurant-app-nav__links {
		display: none !important;
	}

	.restaurant-app-landing .restaurant-app-brand > span:last-child {
		max-width: 130px !important;
	}

	.restaurant-app-landing .restaurant-app-nav__order {
		min-height: 40px !important;
		padding: 0 12px !important;
		font-size: 0.82rem !important;
		white-space: nowrap !important;
	}

	.restaurant-app-landing .restaurant-app-hero {
		padding: 94px 14px 42px !important;
	}

	.restaurant-app-landing .restaurant-app-hero__inner {
		gap: 26px !important;
	}

	.restaurant-app-landing .restaurant-app-hero h1 {
		font-size: 3.05rem !important;
		line-height: 0.98 !important;
		overflow-wrap: break-word !important;
	}

	.restaurant-app-landing .restaurant-app-hero__copy > p:not(.restaurant-app-kicker) {
		font-size: 1rem !important;
	}

	.restaurant-app-hero__meta {
		gap: 8px !important;
	}

	.restaurant-app-hero__meta span {
		width: 100% !important;
	}

	.restaurant-app-landing .restaurant-app-hero__actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	.restaurant-app-landing .restaurant-app-hero__actions .restaurant-app-button {
		width: 100% !important;
		max-width: 100% !important;
	}

	.restaurant-app-console {
		padding: 12px !important;
	}

	.restaurant-app-console__order {
		grid-template-columns: 1fr !important;
	}

	.restaurant-app-landing .restaurant-app-section,
	.restaurant-app-landing .restaurant-app-offer {
		padding: 46px 14px !important;
	}

	.restaurant-app-landing .restaurant-app-section__head {
		display: grid !important;
		align-items: start !important;
	}

	.restaurant-app-landing .restaurant-app-section__head h2,
	.restaurant-app-landing .restaurant-app-offer h2,
	.restaurant-app-landing .restaurant-app-story__copy h2,
	.restaurant-app-landing .restaurant-app-steps h2 {
		font-size: 2.35rem !important;
		line-height: 1.02 !important;
	}

	.restaurant-app-landing .restaurant-app-menu-grid,
	.restaurant-app-landing .restaurant-app-step-grid {
		grid-template-columns: 1fr !important;
	}

	.restaurant-app-landing .restaurant-app-menu-card,
	.restaurant-app-landing .restaurant-app-menu-card__body,
	.restaurant-app-landing .restaurant-app-story__image,
	.restaurant-app-landing .restaurant-app-story__image img {
		min-height: 0 !important;
	}

	.restaurant-app-landing .restaurant-app-story__image img {
		height: auto !important;
		aspect-ratio: 1 / 0.72 !important;
	}
}

@media (max-width: 760px) {
	body.home,
	body.home .front-page.restaurant-app-landing {
		width: 100vw !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}

	body.home .restaurant-app-landing .restaurant-app-nav {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px !important;
	}

	body.home .restaurant-app-landing .restaurant-app-brand {
		flex: 1 1 auto !important;
		max-width: calc(100% - 96px) !important;
	}

	body.home .restaurant-app-landing .restaurant-app-nav__order {
		display: none !important;
	}

	body.home .restaurant-app-landing .restaurant-app-shell,
	body.home .restaurant-app-landing .restaurant-app-hero__inner,
	body.home .restaurant-app-landing .restaurant-app-hero__copy,
	body.home .restaurant-app-landing .restaurant-app-console,
	body.home .restaurant-app-landing .restaurant-app-section__head,
	body.home .restaurant-app-landing .restaurant-app-menu-grid,
	body.home .restaurant-app-landing .restaurant-app-story__grid,
	body.home .restaurant-app-landing .restaurant-app-step-grid {
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
		min-width: 0 !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body.home .restaurant-app-landing .restaurant-app-hero__copy,
	body.home .restaurant-app-landing .restaurant-app-console {
		width: min(340px, 100%) !important;
		max-width: 340px !important;
		margin-left: 0 !important;
	}

	body.home .restaurant-app-landing .restaurant-app-hero h1,
	body.home .restaurant-app-landing .restaurant-app-hero__copy > p,
	body.home .restaurant-app-landing .restaurant-app-hero__actions,
	body.home .restaurant-app-landing .restaurant-app-hero__meta,
	body.home .restaurant-app-landing .restaurant-app-console__top,
	body.home .restaurant-app-landing .restaurant-app-console__qr,
	body.home .restaurant-app-landing .restaurant-app-console__order,
	body.home .restaurant-app-landing .restaurant-app-console__link {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.home .restaurant-app-landing .restaurant-app-hero__copy > p {
		overflow-wrap: anywhere !important;
	}

	body.home .restaurant-app-landing .restaurant-app-hero h1 {
		font-size: 2.62rem !important;
	}

	body.home .restaurant-app-landing .restaurant-app-console__qr {
		gap: 6px !important;
		padding: 14px !important;
	}
}

@media (max-width: 380px) {
	body.home .restaurant-app-landing .restaurant-app-hero__copy,
	body.home .restaurant-app-landing .restaurant-app-console {
		width: min(304px, 100%) !important;
		max-width: 304px !important;
	}

	body.home .restaurant-app-landing .restaurant-app-hero h1 {
		font-size: 2.34rem !important;
	}
}

/* Maison-style digital menu app shell. */
body.woocommerce-shop.restaurant-app-ui,
body.tax-product_cat.restaurant-app-ui,
body.tax-product_tag.restaurant-app-ui,
body.restaurant-menu-app-view.restaurant-app-ui {
	--menu-app-bg: #f3eee3;
	--menu-app-paper: #fff8ed;
	--menu-app-paper-2: #fff3e7;
	--menu-app-ink: #18110d;
	--menu-app-muted: #817870;
	--menu-app-dark: #29231f;
	--menu-app-dark-2: #3a342e;
	--menu-app-accent: var(--jv-red);
	background:
		radial-gradient(circle at 88% 8%, rgba(255, 96, 55, 0.1), transparent 30%),
		linear-gradient(90deg, #ebe8dc 0, var(--menu-app-bg) 40%, #fff4eb 100%) !important;
	color: var(--menu-app-ink) !important;
}

body.woocommerce-shop.restaurant-app-ui .site-header,
body.tax-product_cat.restaurant-app-ui .site-header,
body.tax-product_tag.restaurant-app-ui .site-header,
body.woocommerce-shop.restaurant-app-ui .site-footer,
body.tax-product_cat.restaurant-app-ui .site-footer,
body.tax-product_tag.restaurant-app-ui .site-footer,
body.restaurant-menu-app-view.restaurant-app-ui .site-header,
body.restaurant-menu-app-view.restaurant-app-ui .site-footer {
	display: none !important;
}

.restaurant-menu-app-rail {
	position: fixed !important;
	inset: 0 auto 0 0 !important;
	z-index: 50 !important;
	display: grid !important;
	grid-template-rows: auto auto 1fr auto !important;
	gap: 28px !important;
	width: 288px !important;
	padding: 20px !important;
	background: linear-gradient(180deg, #322c27 0, #211c18 100%) !important;
	color: #fff !important;
	transition: width 180ms ease, padding 180ms ease !important;
}

.restaurant-menu-app-rail__toggle {
	position: absolute !important;
	top: 24px !important;
	right: -20px !important;
	z-index: 3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 1px solid rgba(24, 17, 13, 0.14) !important;
	border-radius: 999px !important;
	background: var(--menu-app-accent) !important;
	box-shadow: 0 14px 34px rgba(24, 17, 13, 0.18) !important;
	color: #20130e !important;
	cursor: pointer !important;
}

.restaurant-menu-app-rail__toggle:hover,
.restaurant-menu-app-rail__toggle:focus-visible {
	background: #fff !important;
	color: var(--menu-app-ink) !important;
	outline: none !important;
	transform: translateX(1px) !important;
}

.restaurant-menu-app-rail__toggle:focus-visible {
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.34), 0 14px 34px rgba(24, 17, 13, 0.18) !important;
}

.restaurant-menu-app-rail__toggle-icon {
	display: block !important;
	width: 10px !important;
	height: 10px !important;
	border-top: 2px solid currentColor !important;
	border-left: 2px solid currentColor !important;
	transform: translateX(2px) rotate(-45deg) !important;
	transition: transform 180ms ease !important;
}

.restaurant-menu-app-rail__brand {
	display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 78px !important;
	padding: 10px 14px !important;
	border-radius: 28px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	text-decoration: none !important;
}

.restaurant-menu-app-rail__logo,
.restaurant-menu-app-rail__mark {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50px !important;
	height: 50px !important;
	overflow: hidden !important;
	border-radius: 18px !important;
	background: var(--menu-app-accent) !important;
	color: #fff !important;
	font-size: 1.35rem !important;
	font-weight: 950 !important;
}

.restaurant-menu-app-rail__logo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 6px !important;
}

.restaurant-menu-app-rail__brand small,
.restaurant-menu-app-rail__cart span {
	display: block !important;
	color: rgba(255, 255, 255, 0.46) !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
}

.restaurant-menu-app-rail__brand strong {
	display: block !important;
	overflow: hidden !important;
	color: #fff !important;
	font-size: 1.08rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.restaurant-menu-app-rail__socials {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: -14px 0 0 !important;
	padding: 0 4px !important;
}

.restaurant-menu-app-rail__socials a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, 0.07) !important;
	color: rgba(255, 255, 255, 0.78) !important;
	text-decoration: none !important;
	transition: background 160ms ease, color 160ms ease, transform 160ms ease !important;
}

.restaurant-menu-app-rail__socials a:hover,
.restaurant-menu-app-rail__socials a:focus-visible {
	background: var(--menu-app-accent) !important;
	color: #20130e !important;
	transform: translateY(-1px) !important;
}

.restaurant-menu-app-rail__socials span {
	font-size: 0.66rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.04em !important;
}

.restaurant-menu-app-rail__nav {
	display: grid !important;
	align-content: start !important;
	gap: 12px !important;
}

.restaurant-menu-app-rail__nav a {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	align-items: center !important;
	min-height: 54px !important;
	padding: 0 16px !important;
	border-radius: 16px !important;
	color: rgba(255, 255, 255, 0.56) !important;
	font-size: 0.96rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

.restaurant-menu-app-rail__nav a:hover,
.restaurant-menu-app-rail__nav a.is-active {
	background: var(--menu-app-accent) !important;
	color: #20130e !important;
}

.restaurant-menu-app-rail__nav span {
	font-size: 1.1rem !important;
	font-weight: 950 !important;
}

.restaurant-menu-app-rail__cart {
	display: grid !important;
	gap: 18px !important;
	min-height: 136px !important;
	padding: 22px 18px !important;
	border-radius: 28px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	text-decoration: none !important;
}

.restaurant-menu-app-rail__cart i {
	display: none !important;
}

.restaurant-menu-app-rail__cart span {
	display: flex !important;
	justify-content: space-between !important;
}

.restaurant-menu-app-rail__cart span strong {
	color: rgba(255, 255, 255, 0.64) !important;
	letter-spacing: 0 !important;
}

.restaurant-menu-app-rail__cart b {
	color: #fff !important;
	font-size: 1.7rem !important;
	font-weight: 950 !important;
	line-height: 1.12 !important;
}

body.woocommerce-shop.restaurant-app-ui .site-main,
body.tax-product_cat.restaurant-app-ui .site-main,
body.tax-product_tag.restaurant-app-ui .site-main,
body.restaurant-menu-app-view.restaurant-app-ui .site-main {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 30px 34px 72px 322px !important;
	background: transparent !important;
}

body.woocommerce-shop.restaurant-app-ui .shop-shell,
body.tax-product_cat.restaurant-app-ui .shop-shell,
body.tax-product_tag.restaurant-app-ui .shop-shell,
body.restaurant-menu-app-view.restaurant-app-ui .shop-shell {
	width: min(900px, calc(100vw - 366px)) !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail {
	gap: 20px !important;
	width: 88px !important;
	padding: 20px 14px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__toggle-icon {
	transform: translateX(-2px) rotate(135deg) !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand {
	grid-template-columns: 1fr !important;
	justify-items: center !important;
	min-height: 58px !important;
	padding: 4px !important;
	border-radius: 20px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand > span:last-child {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__socials {
	display: grid !important;
	justify-content: center !important;
	gap: 8px !important;
	margin: -8px 0 0 !important;
	padding: 0 !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav a {
	grid-template-columns: 1fr !important;
	justify-items: center !important;
	min-height: 52px !important;
	padding: 0 !important;
	font-size: 0 !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav span {
	font-size: 1.1rem !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart {
	align-items: center !important;
	justify-items: center !important;
	gap: 0 !important;
	min-height: 58px !important;
	padding: 0 !important;
	border-radius: 20px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart span,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart b {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart i {
	position: relative !important;
	display: block !important;
	width: 24px !important;
	height: 20px !important;
	border: 2px solid currentColor !important;
	border-top: 0 !important;
	border-radius: 0 0 7px 7px !important;
	color: #fff !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart i::before {
	position: absolute !important;
	top: -8px !important;
	left: 5px !important;
	width: 10px !important;
	height: 10px !important;
	border: 2px solid currentColor !important;
	border-bottom: 0 !important;
	border-radius: 10px 10px 0 0 !important;
	content: "" !important;
}

body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .site-main,
body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .site-main,
body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .site-main,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main {
	padding-left: 122px !important;
}

body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-shell {
	width: calc(100vw - 156px) !important;
	max-width: none !important;
}

body.woocommerce-shop.restaurant-app-ui .woocommerce-products-header,
body.tax-product_cat.restaurant-app-ui .woocommerce-products-header,
body.tax-product_tag.restaurant-app-ui .woocommerce-products-header,
body.restaurant-menu-app-view.restaurant-app-ui .woocommerce-products-header,
body.restaurant-menu-app-view.restaurant-app-ui .page-title {
	display: none !important;
}

.restaurant-menu-app-header {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	margin: 0 0 26px !important;
	padding: 20px !important;
	border: 1px solid rgba(38, 26, 18, 0.08) !important;
	border-radius: 34px !important;
	background: rgba(255, 248, 237, 0.84) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 20px 60px rgba(44, 34, 24, 0.08) !important;
}

.restaurant-menu-app-header__top {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin: 0 0 6px !important;
}

.restaurant-menu-app-header__top p {
	margin: 0 !important;
	color: var(--menu-app-muted) !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.34em !important;
	text-transform: uppercase !important;
}

.restaurant-menu-app-header__top p span::before {
	content: " - " !important;
}

.restaurant-menu-app-header h1 {
	margin: 0 0 18px !important;
	color: var(--menu-app-ink) !important;
	font-size: 3.3rem !important;
	font-weight: 950 !important;
	line-height: 0.96 !important;
	letter-spacing: 0 !important;
}

.restaurant-menu-app-header__intro {
	max-width: 760px !important;
	margin: -6px 0 18px !important;
	color: var(--menu-app-muted) !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	overflow-wrap: anywhere !important;
}

.restaurant-menu-app-header__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 18px !important;
}

.restaurant-menu-app-header__meta span {
	display: inline-grid !important;
	gap: 2px !important;
	min-height: 48px !important;
	padding: 8px 12px !important;
	border: 1px solid rgba(38, 26, 18, 0.08) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.72) !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.88rem !important;
	font-weight: 950 !important;
	line-height: 1.1 !important;
}

.restaurant-menu-app-header__meta small {
	color: var(--menu-app-muted) !important;
	font-size: 0.62rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.restaurant-menu-app-header form {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) 48px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 0 8px 0 18px !important;
	border: 1px solid rgba(38, 26, 18, 0.08) !important;
	border-radius: 22px !important;
	background: #fff !important;
}

.restaurant-menu-app-header form > span {
	width: 16px !important;
	height: 16px !important;
	border: 3px solid #9c938b !important;
	border-radius: 50% !important;
}

.restaurant-menu-app-header form > span::after {
	content: "" !important;
	display: block !important;
	width: 8px !important;
	height: 3px !important;
	margin: 10px 0 0 10px !important;
	border-radius: 99px !important;
	background: #9c938b !important;
	transform: rotate(45deg) !important;
}

.restaurant-menu-app-header input[type="search"] {
	min-height: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.98rem !important;
	font-weight: 800 !important;
}

.restaurant-menu-app-header form button {
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	background: #f1eadf !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.66rem !important;
	box-shadow: none !important;
}

.restaurant-language-switcher {
	position: relative !important;
	z-index: 80 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}

.restaurant-language-switcher__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border: 1px solid rgba(24, 17, 13, 0.12) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.92) !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	box-shadow: 0 10px 24px rgba(24, 17, 13, 0.08) !important;
	cursor: pointer !important;
}

.restaurant-language-switcher__button span {
	display: none !important;
}

.restaurant-language-switcher__button svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.restaurant-language-switcher__button:focus-visible,
.restaurant-language-switcher__panel a:focus-visible {
	outline: 3px solid rgba(221, 51, 51, 0.28) !important;
	outline-offset: 3px !important;
}

.restaurant-language-switcher__panel {
	position: absolute !important;
	top: calc(100% + 10px) !important;
	right: 0 !important;
	z-index: 90 !important;
	display: grid !important;
	gap: 6px !important;
	width: 230px !important;
	padding: 8px !important;
	border: 1px solid rgba(24, 17, 13, 0.12) !important;
	border-radius: 22px !important;
	background: rgba(255, 253, 249, 0.97) !important;
	box-shadow: 0 22px 60px rgba(24, 17, 13, 0.18) !important;
	transform: translateY(-4px) scale(0.98) !important;
	transform-origin: top right !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease !important;
}

.restaurant-language-switcher.is-open .restaurant-language-switcher__panel {
	transform: translateY(0) scale(1) !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.restaurant-language-switcher__panel a {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 48px !important;
	padding: 5px 8px !important;
	border-radius: 16px !important;
	color: var(--menu-app-ink) !important;
	text-decoration: none !important;
}

.restaurant-language-switcher__panel a:hover,
.restaurant-language-switcher__panel a.is-active {
	background: rgba(221, 51, 51, 0.1) !important;
}

.restaurant-language-switcher__panel a span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 14px !important;
	background: var(--menu-app-dark) !important;
	color: #fff !important;
	font-size: 0.74rem !important;
	font-weight: 950 !important;
}

.restaurant-language-switcher__panel a strong {
	overflow: hidden !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.92rem !important;
	font-weight: 950 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.restaurant-menu-app-cart-language {
	position: fixed !important;
	top: 30px !important;
	right: 34px !important;
	z-index: 85 !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav,
body.tax-product_cat.restaurant-app-ui .restaurant-category-nav,
body.tax-product_tag.restaurant-app-ui .restaurant-category-nav,
body.woocommerce-shop.restaurant-app-ui .shop-toolbar,
body.tax-product_cat.restaurant-app-ui .shop-toolbar,
body.tax-product_tag.restaurant-app-ui .shop-toolbar,
body.woocommerce-shop.restaurant-app-ui .woocommerce-result-count,
body.tax-product_cat.restaurant-app-ui .woocommerce-result-count,
body.tax-product_tag.restaurant-app-ui .woocommerce-result-count,
body.woocommerce-shop.restaurant-app-ui .woocommerce-ordering,
body.tax-product_cat.restaurant-app-ui .woocommerce-ordering,
body.tax-product_tag.restaurant-app-ui .woocommerce-ordering {
	display: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products,
body.tax-product_cat.restaurant-app-ui ul.products,
body.tax-product_tag.restaurant-app-ui ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 22px !important;
	justify-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products::before,
body.woocommerce-shop.restaurant-app-ui ul.products::after,
body.tax-product_cat.restaurant-app-ui ul.products::before,
body.tax-product_cat.restaurant-app-ui ul.products::after,
body.tax-product_tag.restaurant-app-ui ul.products::before,
body.tax-product_tag.restaurant-app-ui ul.products::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product,
body.tax-product_cat.restaurant-app-ui ul.products li.product,
body.tax-product_tag.restaurant-app-ui ul.products li.product {
	position: relative !important;
	display: grid !important;
	float: none !important;
	clear: none !important;
	justify-self: stretch !important;
	grid-template-rows: auto auto 1fr auto !important;
	width: auto !important;
	max-width: 100% !important;
	min-height: 520px !important;
	margin: 0 !important;
	padding: 18px !important;
	overflow: hidden !important;
	border: 1px solid rgba(255, 255, 255, 0.8) !important;
	border-radius: 32px !important;
	background:
		radial-gradient(circle at 78% 82%, rgba(255, 96, 55, 0.1), transparent 34%),
		linear-gradient(180deg, #fffdf7 0, #fff1e6 100%) !important;
	box-shadow: 0 20px 50px rgba(44, 34, 24, 0.08) !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product:hover,
body.tax-product_cat.restaurant-app-ui ul.products li.product:hover,
body.tax-product_tag.restaurant-app-ui ul.products li.product:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 26px 60px rgba(44, 34, 24, 0.12) !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link {
	position: relative !important;
	display: block !important;
	min-height: 0 !important;
	margin: 0 !important;
	text-decoration: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
body.tax-product_cat.restaurant-app-ui ul.products li.product img,
body.tax-product_tag.restaurant-app-ui ul.products li.product img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1.52 / 1 !important;
	margin: 0 !important;
	border: 8px solid #fff !important;
	border-radius: 28px !important;
	object-fit: cover !important;
	box-shadow: 0 14px 30px rgba(24, 17, 13, 0.12) !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
	content: "" !important;
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	right: 8px !important;
	bottom: auto !important;
	height: 260px !important;
	border-radius: 0 0 22px 22px !important;
	background: linear-gradient(180deg, transparent 42%, rgba(16, 11, 8, 0.82) 100%) !important;
	pointer-events: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
	position: absolute !important;
	left: 20px !important;
	right: 76px !important;
	top: 222px !important;
	bottom: auto !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: 1.45rem !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.36) !important;
	text-transform: capitalize !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-meta,
body.tax-product_cat.restaurant-app-ui .restaurant-card-meta,
body.tax-product_tag.restaurant-app-ui .restaurant-card-meta {
	position: absolute !important;
	top: 28px !important;
	left: 28px !important;
	z-index: 3 !important;
	display: inline-flex !important;
	gap: 6px !important;
	width: auto !important;
	margin: 0 !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-meta__time,
body.tax-product_cat.restaurant-app-ui .restaurant-card-meta__time,
body.tax-product_tag.restaurant-app-ui .restaurant-card-meta__time {
	display: none !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-meta__rating,
body.tax-product_cat.restaurant-app-ui .restaurant-card-meta__rating,
body.tax-product_tag.restaurant-app-ui .restaurant-card-meta__rating {
	min-height: 28px !important;
	padding: 0 12px 0 24px !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--menu-app-ink) !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	line-height: 28px !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-meta__rating::before,
body.tax-product_cat.restaurant-app-ui .restaurant-card-meta__rating::before,
body.tax-product_tag.restaurant-app-ui .restaurant-card-meta__rating::before {
	content: "\2605" !important;
	position: absolute !important;
	left: 12px !important;
	color: var(--menu-app-accent) !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-product-badges,
body.tax-product_cat.restaurant-app-ui .restaurant-product-badges,
body.tax-product_tag.restaurant-app-ui .restaurant-product-badges {
	position: absolute !important;
	top: 28px !important;
	right: 28px !important;
	z-index: 3 !important;
	display: flex !important;
	max-width: 42% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-product-badges li,
body.tax-product_cat.restaurant-app-ui .restaurant-product-badges li,
body.tax-product_tag.restaurant-app-ui .restaurant-product-badges li {
	overflow: hidden !important;
	max-width: 130px !important;
	padding: 7px 12px !important;
	border-radius: 999px !important;
	background: rgba(16, 11, 8, 0.66) !important;
	color: #fff !important;
	font-size: 0.62rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.18em !important;
	text-overflow: ellipsis !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
	position: absolute !important;
	top: 202px !important;
	right: 28px !important;
	z-index: 4 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border-radius: 18px !important;
	background: #fff !important;
	color: var(--menu-app-ink) !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	box-shadow: 0 10px 24px rgba(24, 17, 13, 0.16) !important;
}

body.woocommerce-shop.restaurant-app-ui .restaurant-card-excerpt,
body.tax-product_cat.restaurant-app-ui .restaurant-card-excerpt,
body.tax-product_tag.restaurant-app-ui .restaurant-card-excerpt {
	min-height: 54px !important;
	margin: 18px 4px 0 !important;
	color: var(--menu-app-muted) !important;
	font-size: 0.94rem !important;
	font-weight: 750 !important;
	line-height: 1.55 !important;
	text-decoration: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__link + p,
body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__link + p,
body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__link + p {
	display: block !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title + *,
body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title + *,
body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title + * {
	margin-top: 0 !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .button,
body.tax-product_cat.restaurant-app-ui ul.products li.product .button,
body.tax-product_tag.restaurant-app-ui ul.products li.product .button,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.tax-product_cat.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.tax-product_tag.restaurant-app-ui ul.products li.product .add_to_cart_button {
	align-self: end !important;
	width: calc(100% - 78px) !important;
	min-height: 48px !important;
	margin: 18px 78px 0 0 !important;
	border-radius: 16px !important;
	background: var(--menu-app-ink) !important;
	color: #fff !important;
	font-size: 0.9rem !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products li.product .button::after,
body.tax-product_cat.restaurant-app-ui ul.products li.product .button::after,
body.tax-product_tag.restaurant-app-ui ul.products li.product .button::after {
	content: "" !important;
	position: absolute !important;
	right: 18px !important;
	bottom: 18px !important;
	width: 48px !important;
	height: 48px !important;
	border: 1px solid rgba(24, 17, 13, 0.12) !important;
	border-radius: 16px !important;
	background:
		linear-gradient(var(--menu-app-ink) 0 0) 50% 52% / 14px 2px no-repeat,
		linear-gradient(var(--menu-app-ink) 0 0) 50% 52% / 2px 14px no-repeat,
		#fff !important;
	pointer-events: none !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product {
	min-height: 420px !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 12px 28px rgba(44, 34, 24, 0.07) !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product img {
	border-width: 0 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
	display: none !important;
	content: none !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product .price,
body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-card-meta,
body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-product-badges {
	position: static !important;
	inset: auto !important;
	color: var(--menu-app-ink) !important;
	text-shadow: none !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
	margin: 16px 4px 8px !important;
	font-size: 1.22rem !important;
	line-height: 1.15 !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui ul.products li.product .price {
	justify-content: flex-start !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 4px !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-card-meta {
	margin: 10px 4px 0 !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-card-meta__time {
	display: inline-flex !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-card-meta__rating {
	background: rgba(221, 51, 51, 0.08) !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-product-badges {
	display: flex !important;
	flex-wrap: wrap !important;
	max-width: none !important;
	margin: 10px 4px 0 !important;
	gap: 6px !important;
}

body.nebula-product-card-style-minimal_grid.restaurant-app-ui .restaurant-product-badges li {
	background: rgba(24, 17, 13, 0.06) !important;
	color: var(--menu-app-ink) !important;
}

body.nebula-product-card-style-premium.restaurant-app-ui ul.products li.product {
	border-color: rgba(201, 130, 36, 0.28) !important;
	background:
		linear-gradient(135deg, rgba(201, 130, 36, 0.16), transparent 34%),
		linear-gradient(180deg, #fffdf7 0, #fff0df 100%) !important;
	box-shadow: 0 24px 58px rgba(44, 34, 24, 0.12) !important;
}

body.nebula-product-card-style-premium.restaurant-app-ui ul.products li.product .price,
body.nebula-product-card-style-premium.restaurant-app-ui ul.products li.product a.restaurant-card-plus {
	background: var(--jv-gold) !important;
	color: #17100c !important;
}

body.nebula-product-card-style-premium.restaurant-app-ui .restaurant-card-meta__rating {
	background: var(--jv-gold) !important;
	color: #17100c !important;
}

.restaurant-menu-app-cart-fab {
	position: fixed !important;
	right: 34px !important;
	bottom: 28px !important;
	z-index: 80 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 62px !important;
	padding: 0 22px !important;
	border-radius: 999px !important;
	background: var(--menu-app-accent) !important;
	color: var(--menu-app-ink) !important;
	font-weight: 950 !important;
	text-decoration: none !important;
	box-shadow: 0 18px 40px rgba(255, 96, 55, 0.28) !important;
}

.restaurant-menu-app-cart-fab > span {
	width: 22px !important;
	height: 22px !important;
	border: 2px solid currentColor !important;
	border-radius: 6px !important;
}

.restaurant-menu-app-cart-fab > b {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 30px !important;
	height: 30px !important;
	border-radius: 999px !important;
	background: var(--menu-app-ink) !important;
	color: #fff !important;
	font-size: 0.82rem !important;
}

@media (max-width: 980px) {
	body.restaurant-menu-app-view.restaurant-app-ui {
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail,
	.restaurant-menu-app-rail {
		position: sticky !important;
		top: 0 !important;
		width: 100% !important;
		min-height: 74px !important;
		padding: 10px 14px !important;
		grid-template-columns: auto 1fr auto !important;
		grid-template-rows: auto !important;
		align-items: center !important;
		gap: 12px !important;
	}

	.restaurant-menu-app-rail__toggle {
		display: none !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand,
	.restaurant-menu-app-rail__brand {
		min-height: 54px !important;
		padding: 0 !important;
		background: transparent !important;
		grid-template-columns: 44px minmax(0, 1fr) !important;
		justify-items: stretch !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand > span:last-child {
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: hidden !important;
		clip: auto !important;
		white-space: normal !important;
	}

	.restaurant-menu-app-rail__logo,
	.restaurant-menu-app-rail__mark {
		width: 42px !important;
		height: 42px !important;
		border-radius: 14px !important;
	}

	.restaurant-menu-app-rail__brand small,
	.restaurant-menu-app-rail__nav,
	.restaurant-menu-app-rail__socials {
		display: none !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart,
	.restaurant-menu-app-rail__cart {
		min-height: 48px !important;
		padding: 0 14px !important;
		border-radius: 18px !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart span,
	.restaurant-menu-app-rail__cart span {
		display: none !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart b,
	.restaurant-menu-app-rail__cart b {
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		clip: auto !important;
		font-size: 0.9rem !important;
		white-space: nowrap !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart i {
		display: none !important;
	}

	body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-shop.restaurant-app-ui .site-main,
	body.tax-product_cat.restaurant-app-ui .site-main,
	body.tax-product_tag.restaurant-app-ui .site-main {
		padding: 18px 14px 86px !important;
	}

	body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .shop-shell,
	body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .shop-shell,
	body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .shop-shell,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
	body.woocommerce-shop.restaurant-app-ui .shop-shell,
	body.tax-product_cat.restaurant-app-ui .shop-shell,
	body.tax-product_tag.restaurant-app-ui .shop-shell {
		width: min(100%, 520px) !important;
		max-width: 520px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: min(520px, calc(100vw - 28px)) !important;
		max-width: calc(100vw - 28px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products {
		grid-template-columns: 1fr !important;
	}

	.restaurant-menu-app-header {
		border-radius: 24px !important;
		padding: 16px !important;
	}

	.restaurant-menu-app-header__top {
		align-items: flex-start !important;
		gap: 10px !important;
	}

	.restaurant-menu-app-header h1 {
		font-size: 2.35rem !important;
		max-width: 100% !important;
		overflow-wrap: normal !important;
	}

	.restaurant-language-switcher__button {
		min-width: 48px !important;
		height: 42px !important;
		padding: 0 10px !important;
	}

	.restaurant-language-switcher__button span {
		display: none !important;
	}

	.restaurant-language-switcher__panel {
		position: fixed !important;
		top: auto !important;
		right: 14px !important;
		bottom: 84px !important;
		left: 14px !important;
		width: auto !important;
		max-width: none !important;
		padding: 10px !important;
		border-radius: 24px !important;
		transform: translateY(14px) scale(0.98) !important;
		transform-origin: bottom center !important;
	}

	.restaurant-language-switcher.is-open .restaurant-language-switcher__panel {
		transform: translateY(0) scale(1) !important;
	}

	.restaurant-menu-app-cart-language {
		top: 88px !important;
		right: 14px !important;
	}

	.restaurant-menu-app-cart-language .restaurant-language-switcher__panel {
		bottom: 18px !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav {
		display: flex !important;
		width: 100% !important;
		margin: 0 0 18px !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow-x: auto !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a {
		min-width: max-content !important;
		background: rgba(255, 255, 255, 0.72) !important;
	}

	body.woocommerce-shop.restaurant-app-ui .restaurant-category-nav a.is-active,
	body.tax-product_cat.restaurant-app-ui .restaurant-category-nav a.is-active,
	body.tax-product_tag.restaurant-app-ui .restaurant-category-nav a.is-active {
		background: var(--menu-app-accent) !important;
		color: var(--menu-app-ink) !important;
	}

	.restaurant-menu-app-cart-fab {
		right: 18px !important;
		bottom: 18px !important;
		min-height: 54px !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-shop.restaurant-app-ui ul.products li.product,
	body.tax-product_cat.restaurant-app-ui ul.products li.product,
	body.tax-product_tag.restaurant-app-ui ul.products li.product {
		min-height: 470px !important;
		padding: 14px !important;
		border-radius: 26px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		left: 18px !important;
		right: 68px !important;
		top: 184px !important;
		font-size: 1.22rem !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
		height: 220px !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
		top: 178px !important;
		right: 22px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		border-radius: 16px !important;
	}
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: min(900px, calc(100vw - 366px)) !important;
		max-width: 900px !important;
		margin-left: 322px !important;
		margin-right: auto !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		margin-top: 30px !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: calc(100vw - 156px) !important;
		max-width: none !important;
		margin-left: 122px !important;
	}
}

/* Final QR menu QA hardening: keep overlays inside the image area and prevent text/action collisions. */
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product {
	--menu-card-media-height: 250px;
	grid-template-rows: auto auto !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: hidden !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link {
	display: block !important;
	position: relative !important;
	min-height: 0 !important;
	color: inherit !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img {
	display: block !important;
	width: 100% !important;
	height: var(--menu-card-media-height) !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link::after,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
	top: calc(var(--menu-card-media-height) - 128px) !important;
	height: 120px !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
	top: calc(var(--menu-card-media-height) - 56px) !important;
	left: 20px !important;
	right: 104px !important;
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price {
	top: calc(var(--menu-card-media-height) - 64px) !important;
	right: 28px !important;
	max-width: 104px !important;
	white-space: nowrap !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .restaurant-card-excerpt {
	display: -webkit-box !important;
	min-height: 48px !important;
	margin: 16px 4px 0 !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .button,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .add_to_cart_button {
	position: static !important;
	align-self: end !important;
	width: calc(100% - 112px) !important;
	margin: 18px 112px 0 0 !important;
	white-space: nowrap !important;
}

body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .button,
body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .add_to_cart_button,
body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .button,
body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .add_to_cart_button,
body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .button,
body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product .add_to_cart_button {
	position: static !important;
	width: calc(100% - 112px) !important;
	margin: 18px 112px 0 0 !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .button::after,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .add_to_cart_button::after {
	display: none !important;
	content: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product::after {
	content: "+" !important;
	position: absolute !important;
	right: 18px !important;
	bottom: 18px !important;
	z-index: 3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	border: 1px solid rgba(24, 17, 13, 0.12) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--menu-app-ink) !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	box-shadow: 0 10px 24px rgba(24, 17, 13, 0.1) !important;
	pointer-events: none !important;
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product:only-child {
		max-width: 450px !important;
	}
}

@media (max-width: 980px) {
	body.restaurant-menu-app-view.restaurant-app-ui .site-main {
		width: 100% !important;
		max-width: 100vw !important;
		padding: 0 0 92px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		margin-top: 0 !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product {
		--menu-card-media-height: 220px;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		top: calc(var(--menu-card-media-height) - 50px) !important;
		right: 96px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price {
		top: calc(var(--menu-card-media-height) - 58px) !important;
		right: 22px !important;
		max-width: 96px !important;
	}
}

@media (max-width: 420px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header h1 {
		font-size: 2.24rem !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product {
		--menu-card-media-height: 210px;
	}
}

@media (max-width: 980px) {
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main {
		width: 100% !important;
		max-width: 100vw !important;
		padding: 0 0 92px !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Menu app must not show legacy theme/header WooCommerce controls. */
body.restaurant-menu-app-view.restaurant-app-ui .site-header,
body.restaurant-menu-app-view.restaurant-app-ui .site-header *,
body.restaurant-menu-app-view.restaurant-app-ui .header-actions,
body.restaurant-menu-app-view.restaurant-app-ui .header-actions *,
body.restaurant-menu-app-view.restaurant-app-ui a.cart-link,
body.restaurant-menu-app-view.restaurant-app-ui a.cart-link *,
body.restaurant-menu-app-view.restaurant-app-ui a.added_to_cart,
body.restaurant-menu-app-view.restaurant-app-ui a.added_to_cart *,
body.restaurant-menu-app-view.restaurant-app-ui .wc-forward.added_to_cart,
body.restaurant-menu-app-view.restaurant-app-ui .wc-forward.added_to_cart * {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-cart-fab,
body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart {
	display: revert !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-cart-fab {
	display: inline-flex !important;
}

body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart {
	display: grid !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product::after {
	display: none !important;
	content: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus.add_to_cart_button,
body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product a.restaurant-card-plus.add_to_cart_button,
body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product a.restaurant-card-plus.add_to_cart_button,
body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products li.product a.restaurant-card-plus.add_to_cart_button {
	position: absolute !important;
	right: 18px !important;
	bottom: 18px !important;
	z-index: 4 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	min-width: 48px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(24, 17, 13, 0.12) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--menu-app-ink) !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(24, 17, 13, 0.1) !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus::after {
	display: none !important;
	content: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus:hover {
	background: var(--menu-app-accent) !important;
	color: var(--menu-app-ink) !important;
	box-shadow: 0 14px 30px rgba(221, 51, 51, 0.18) !important;
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		width: calc(100vw - 356px) !important;
		max-width: none !important;
		margin-left: 322px !important;
		margin-right: 34px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header form {
		width: 100% !important;
		max-width: none !important;
	}
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui {
	--menu-app-bg: #f3eee3;
	--menu-app-paper: #fff8ed;
	--menu-app-paper-2: #fff3e7;
	--menu-app-ink: #18110d;
	--menu-app-muted: #817870;
	--menu-app-dark: #29231f;
	--menu-app-accent: var(--jv-red);
	overflow-x: hidden !important;
	background:
		radial-gradient(circle at 88% 8%, rgba(255, 96, 55, 0.1), transparent 30%),
		linear-gradient(90deg, #ebe8dc 0, var(--menu-app-bg) 40%, #fff4eb 100%) !important;
	color: var(--menu-app-ink) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-header,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-footer {
	display: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 30px 34px 96px 322px !important;
	background: transparent !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content {
	width: min(900px, calc(100vw - 366px)) !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
	width: min(900px, calc(100vw - 366px)) !important;
	max-width: 900px !important;
	margin: 0 auto 26px !important;
	padding: 24px 28px !important;
	border: 1px solid rgba(38, 26, 18, 0.08) !important;
	border-radius: 34px !important;
	background: rgba(255, 248, 237, 0.86) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 20px 60px rgba(44, 34, 24, 0.08) !important;
}

@media (min-width: 981px) {
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding-left: 122px !important;
	}

	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		width: calc(100vw - 156px) !important;
		max-width: none !important;
	}
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
	margin: 0 !important;
	color: var(--menu-app-ink) !important;
	font-size: clamp(3.2rem, 5vw, 5rem) !important;
	font-weight: 950 !important;
	line-height: 0.96 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 22px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 20px !important;
	border: 1px solid rgba(255, 255, 255, 0.8) !important;
	border-radius: 34px !important;
	background:
		radial-gradient(circle at 86% 76%, rgba(255, 96, 55, 0.09), transparent 32%),
		linear-gradient(180deg, rgba(255, 253, 247, 0.96) 0, rgba(255, 241, 230, 0.96) 100%) !important;
	box-shadow: 0 24px 64px rgba(44, 34, 24, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__main,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-main {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items tbody {
	display: grid !important;
	gap: 14px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 112px minmax(0, 1fr) auto !important;
	grid-template-areas:
		"image product total"
		"image product remove" !important;
	gap: 10px 18px !important;
	align-items: center !important;
	min-height: 142px !important;
	padding: 16px !important;
	border: 1px solid rgba(24, 17, 13, 0.08) !important;
	border-radius: 26px !important;
	background: #fff !important;
	box-shadow: 0 16px 34px rgba(44, 34, 24, 0.08) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row td {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image {
	grid-area: image !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
	display: block !important;
	width: 112px !important;
	height: 112px !important;
	border-radius: 20px !important;
	object-fit: cover !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__product {
	grid-area: product !important;
	min-width: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 10px 16px !important;
	align-items: start !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
	color: var(--menu-app-ink) !important;
	font-size: 1.2rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
	text-transform: capitalize !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__prices,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-price,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	color: var(--menu-app-ink) !important;
	font-weight: 950 !important;
	white-space: nowrap !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	grid-area: total !important;
	justify-self: end !important;
	text-align: right !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__quantity {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
	display: inline-grid !important;
	grid-template-columns: 38px 44px 38px !important;
	height: 42px !important;
	min-width: 120px !important;
	overflow: hidden !important;
	border: 1px solid rgba(221, 51, 51, 0.16) !important;
	border-radius: 999px !important;
	background: rgba(221, 51, 51, 0.08) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector__button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
	min-height: 40px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--menu-app-accent) !important;
	font-weight: 950 !important;
	text-align: center !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 84px !important;
	min-height: 38px !important;
	padding: 0 16px !important;
	border: 1px solid rgba(221, 51, 51, 0.2) !important;
	border-radius: 999px !important;
	background: rgba(221, 51, 51, 0.08) !important;
	color: var(--menu-app-accent) !important;
	font-size: 0.84rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__sidebar,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-sidebar {
	position: sticky !important;
	top: 30px !important;
	align-self: start !important;
	width: 100% !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(24, 17, 13, 0.1) !important;
	border-radius: 26px !important;
	background: #fff !important;
	box-shadow: 0 18px 42px rgba(44, 34, 24, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__totals-title,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart-order-summary-heading-block {
	padding: 22px 24px !important;
	border-bottom: 1px solid rgba(24, 17, 13, 0.1) !important;
	color: var(--menu-app-ink) !important;
	font-size: 1.25rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-totals-wrapper {
	padding-right: 24px !important;
	padding-left: 24px !important;
	border-color: rgba(24, 17, 13, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-totals-footer-item {
	padding-top: 28px !important;
	padding-bottom: 28px !important;
	color: var(--menu-app-ink) !important;
	font-size: 1.25rem !important;
	font-weight: 950 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .qr-order-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__submit-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-button {
	width: calc(100% - 48px) !important;
	min-height: 56px !important;
	margin: 18px 24px 24px !important;
	border-radius: 14px !important;
	background: var(--menu-app-accent) !important;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(221, 51, 51, 0.22) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
	grid-column: 1 / -1 !important;
	margin-top: 8px !important;
	border-radius: 26px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__header,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui thead.wc-block-cart-items__header {
	display: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__prices {
	display: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	align-self: start !important;
	min-width: max-content !important;
	padding: 10px 12px !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 10px 22px rgba(24, 17, 13, 0.08) !important;
}

@media (max-width: 980px) {
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		width: 100% !important;
		max-width: 100vw !important;
		padding: 0 14px 92px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		width: min(520px, calc(100vw - 28px)) !important;
		max-width: calc(100vw - 28px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		margin-top: 16px !important;
		padding: 18px !important;
		border-radius: 24px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
		font-size: 2.6rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
		grid-template-columns: 1fr !important;
		padding: 14px !important;
		border-radius: 26px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
		grid-template-columns: 84px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image total"
			"image remove" !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
		width: 84px !important;
		height: 84px !important;
		border-radius: 16px !important;
	}
}

/* Cascade-final restaurant app fixes. Keep this block last. */
body.restaurant-menu-app-view.restaurant-app-ui,
body.woocommerce-shop.restaurant-app-ui,
body.tax-product_cat.restaurant-app-ui,
body.tax-product_tag.restaurant-app-ui,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui {
	--menu-app-bg: #f4f0e8;
	--menu-app-paper: #fffaf3;
	--menu-app-ink: #18110d;
	--menu-app-muted: #6f665f;
	--menu-app-line: rgba(30, 22, 16, 0.11);
	--menu-app-red: #e22f2f;
	--menu-app-red-dark: #b91f1f;
	--menu-app-green: #177a4a;
	--menu-app-shadow: 0 18px 45px rgba(42, 32, 22, 0.1);
	--menu-app-shadow-soft: 0 10px 26px rgba(42, 32, 22, 0.07);
	background: linear-gradient(135deg, #ebe8dc 0%, #f7f2e9 45%, #fff3eb 100%) !important;
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding: 28px 36px 72px 316px !important;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding-left: 112px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		width: min(1460px, 100%) !important;
		max-width: 1460px !important;
		margin: 0 auto 28px !important;
	}
}

.restaurant-menu-app-rail {
	width: 280px !important;
	padding: 18px !important;
	background: linear-gradient(180deg, #28231f 0%, #17120f 100%) !important;
	box-shadow: 18px 0 50px rgba(24, 17, 13, 0.12) !important;
}

.restaurant-menu-app-rail__toggle {
	top: 26px !important;
	right: -18px !important;
	width: 46px !important;
	height: 46px !important;
	border: 3px solid #f4f0e8 !important;
	background: var(--menu-app-red) !important;
	color: #fff !important;
	box-shadow: 0 14px 28px rgba(226, 47, 47, 0.26) !important;
}

.restaurant-menu-app-rail__toggle:hover,
.restaurant-menu-app-rail__toggle:focus-visible {
	background: var(--menu-app-red-dark) !important;
	color: #fff !important;
}

.restaurant-menu-app-rail__brand,
.restaurant-menu-app-rail__cart {
	border-radius: 22px !important;
	background: rgba(255, 255, 255, 0.07) !important;
}

.restaurant-menu-app-rail__logo,
.restaurant-menu-app-rail__mark {
	width: 52px !important;
	height: 52px !important;
	border-radius: 18px !important;
	background: var(--menu-app-red) !important;
}

.restaurant-menu-app-rail__nav {
	gap: 8px !important;
}

.restaurant-menu-app-rail__nav a {
	grid-template-columns: 24px minmax(0, 1fr) !important;
	min-height: 48px !important;
	padding: 0 14px !important;
	border-radius: 14px !important;
	color: rgba(255, 255, 255, 0.68) !important;
}

.restaurant-menu-app-rail__nav a:hover,
.restaurant-menu-app-rail__nav a.is-active {
	background: rgba(226, 47, 47, 0.96) !important;
	color: #fff !important;
}

.restaurant-menu-app-rail__nav span {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	color: currentColor !important;
	font-size: 0 !important;
}

.restaurant-menu-app-rail__nav span::before {
	width: 7px !important;
	height: 7px !important;
	border-radius: 999px !important;
	background: currentColor !important;
	content: "" !important;
}

.restaurant-menu-app-rail__nav a:first-child span::before {
	width: 12px !important;
	height: 12px !important;
	border: 2px solid currentColor !important;
	background: transparent !important;
}

.restaurant-menu-app-rail__cart {
	gap: 12px !important;
	min-height: 112px !important;
	padding: 18px !important;
}

.restaurant-menu-app-rail__cart b {
	font-size: 1.26rem !important;
	line-height: 1.16 !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail {
	width: 88px !important;
	padding: 18px 14px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__brand,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__cart {
	border-radius: 18px !important;
}

body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav a {
	min-height: 48px !important;
	border-radius: 16px !important;
}

body.woocommerce-shop.restaurant-app-ui .shop-shell,
body.tax-product_cat.restaurant-app-ui .shop-shell,
body.tax-product_tag.restaurant-app-ui .shop-shell,
body.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.woocommerce-shop.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_cat.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.tax-product_tag.restaurant-app-ui .shop-shell,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-shell {
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin: 0 auto !important;
}

.restaurant-menu-app-header {
	padding: 28px !important;
	border: 1px solid rgba(255, 255, 255, 0.88) !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.9) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

.restaurant-menu-app-header h1 {
	max-width: 980px !important;
	margin-bottom: 16px !important;
	font-size: 4rem !important;
	line-height: 1 !important;
}

.restaurant-menu-app-header__intro {
	max-width: 820px !important;
	color: var(--menu-app-muted) !important;
	font-size: 1.06rem !important;
	line-height: 1.45 !important;
}

.restaurant-menu-app-header__meta {
	gap: 10px !important;
	margin-bottom: 20px !important;
}

.restaurant-menu-app-header__meta span {
	min-height: 50px !important;
	padding: 9px 14px !important;
	border-color: var(--menu-app-line) !important;
	border-radius: 15px !important;
	background: #fff !important;
	box-shadow: 0 6px 18px rgba(42, 32, 22, 0.045) !important;
}

.restaurant-menu-app-header form {
	grid-template-columns: 30px minmax(0, 1fr) 50px !important;
	min-height: 60px !important;
	padding: 0 10px 0 18px !important;
	border-color: var(--menu-app-line) !important;
	border-radius: 20px !important;
}

body.woocommerce-shop.restaurant-app-ui ul.products,
body.tax-product_cat.restaurant-app-ui ul.products,
body.tax-product_tag.restaurant-app-ui ul.products,
body.restaurant-menu-app-view.restaurant-app-ui ul.products,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important;
	gap: 24px !important;
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin: 0 auto !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product,
body.woocommerce-shop.restaurant-app-ui ul.products li.product,
body.tax-product_cat.restaurant-app-ui ul.products li.product,
body.tax-product_tag.restaurant-app-ui ul.products li.product,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product:only-child {
	min-height: 0 !important;
	max-width: none !important;
	padding: 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.86) !important;
	border-radius: 24px !important;
	background: linear-gradient(180deg, #fffdf8 0%, #fff4eb 100%) !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
body.tax-product_cat.restaurant-app-ui ul.products li.product img,
body.tax-product_tag.restaurant-app-ui ul.products li.product img {
	width: 100% !important;
	height: 228px !important;
	aspect-ratio: auto !important;
	border: 0 !important;
	border-radius: 18px !important;
	object-fit: cover !important;
	box-shadow: none !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link::after,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
	top: auto !important;
	left: 12px !important;
	right: 12px !important;
	bottom: 0 !important;
	height: 108px !important;
	border-radius: 0 0 18px 18px !important;
	background: linear-gradient(180deg, transparent 0%, rgba(16, 11, 8, 0.74) 100%) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
	left: 24px !important;
	right: 96px !important;
	top: 184px !important;
	color: #fff !important;
	font-size: 1.25rem !important;
	line-height: 1.08 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.34) !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
	top: 176px !important;
	right: 22px !important;
	min-height: 44px !important;
	max-width: 92px !important;
	padding: 0 10px !important;
	border-radius: 14px !important;
	font-size: 0.9rem !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .restaurant-card-excerpt {
	min-height: 58px !important;
	margin: 16px 6px 0 !important;
	color: var(--menu-app-muted) !important;
	font-size: 0.94rem !important;
	line-height: 1.48 !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .button,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .add_to_cart_button,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .button,
body.woocommerce-shop.restaurant-app-ui ul.products li.product .add_to_cart_button {
	width: calc(100% - 68px) !important;
	min-height: 46px !important;
	margin: 16px 68px 0 0 !important;
	border-radius: 14px !important;
	background: var(--menu-app-ink) !important;
	font-size: 0.88rem !important;
}

body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus,
body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.restaurant-card-plus.add_to_cart_button {
	right: 12px !important;
	bottom: 12px !important;
	width: 46px !important;
	min-width: 46px !important;
	height: 46px !important;
	min-height: 46px !important;
	border-radius: 14px !important;
}

.restaurant-menu-app-cart-fab {
	right: 28px !important;
	bottom: 28px !important;
	border-radius: 18px !important;
	background: var(--menu-app-red) !important;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(226, 47, 47, 0.25) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
	width: min(1460px, 100%) !important;
	max-width: 1460px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
	margin-bottom: 24px !important;
	padding: 26px 30px !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.9) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
	font-size: 4.25rem !important;
	line-height: 1 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
	grid-template-columns: minmax(0, 1fr) 368px !important;
	gap: 24px !important;
	padding: 22px !important;
	border-radius: 26px !important;
	background: rgba(255, 250, 243, 0.88) !important;
	box-shadow: var(--menu-app-shadow) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
	grid-template-columns: 96px minmax(0, 1fr) auto !important;
	min-height: 122px !important;
	padding: 14px !important;
	border-radius: 20px !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
	width: 96px !important;
	height: 96px !important;
	border-radius: 16px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__sidebar,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-sidebar {
	border-radius: 22px !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__totals-title,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart-order-summary-heading-block {
	padding: 20px 22px !important;
	font-size: 1.08rem !important;
	letter-spacing: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .qr-order-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__submit-button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-button {
	width: calc(100% - 44px) !important;
	min-height: 54px !important;
	margin: 18px 22px 22px !important;
	border-radius: 14px !important;
	background: var(--menu-app-red) !important;
	box-shadow: 0 14px 30px rgba(226, 47, 47, 0.22) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
	grid-template-columns: minmax(0, 1fr) 260px !important;
	gap: 28px !important;
	margin-top: 0 !important;
	padding: 28px !important;
	border-color: rgba(255, 255, 255, 0.86) !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: var(--menu-app-shadow-soft) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-status-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 680px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__status,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__table {
	background: rgba(23, 122, 74, 0.1) !important;
	color: var(--menu-app-green) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__code {
	width: 260px !important;
	min-width: 260px !important;
	padding: 16px !important;
	border-radius: 16px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-svg {
	display: block !important;
	width: 100% !important;
	height: auto !important;
}

@media (max-width: 980px) {
	.restaurant-menu-app-rail {
		display: none !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		padding: 14px 14px 92px !important;
	}

	.restaurant-menu-app-header {
		width: min(620px, 100%) !important;
		margin: 0 auto 18px !important;
		padding: 20px !important;
		border-radius: 22px !important;
	}

	.restaurant-menu-app-header h1 {
		font-size: 2.45rem !important;
		line-height: 1.02 !important;
	}

	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: min(620px, 100%) !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
	body.tax-product_cat.restaurant-app-ui ul.products li.product img,
	body.tax-product_tag.restaurant-app-ui ul.products li.product img {
		height: 220px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		top: 176px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
		top: 168px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .content-narrow,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .page-entry,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-content,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-header {
		width: min(620px, 100%) !important;
		max-width: 620px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .entry-title {
		font-size: 2.55rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
		grid-template-columns: 1fr !important;
		padding: 16px !important;
		border-radius: 22px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image total"
			"image remove" !important;
		gap: 8px 12px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
		width: 78px !important;
		height: 78px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box__code {
		justify-self: start !important;
		width: min(260px, 100%) !important;
		min-width: 0 !important;
	}
}

@media (max-width: 520px) {
	.restaurant-menu-app-header h1 {
		font-size: 2.15rem !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product img,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product img,
	body.tax-product_cat.restaurant-app-ui ul.products li.product img,
	body.tax-product_tag.restaurant-app-ui ul.products li.product img {
		height: 205px !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .woocommerce-loop-product__title {
		top: 162px !important;
		right: 86px !important;
		font-size: 1.14rem !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product .price,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product .price,
	body.tax-product_cat.restaurant-app-ui ul.products li.product .price,
	body.tax-product_tag.restaurant-app-ui ul.products li.product .price {
		top: 154px !important;
		right: 20px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .restaurant-order-status-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		margin-top: 34px !important;
	}
}

body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav span,
body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-rail__nav span {
	font-size: 0 !important;
}

@media (max-width: 980px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		width: min(620px, calc(100% - 28px)) !important;
		margin: 14px auto 18px !important;
	}

	body.woocommerce.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.woocommerce.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.woocommerce.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.woocommerce-shop.restaurant-app-ui ul.products,
	body.tax-product_cat.restaurant-app-ui ul.products,
	body.tax-product_tag.restaurant-app-ui ul.products,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products {
		width: min(620px, calc(100% - 28px)) !important;
		max-width: calc(100% - 28px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link::after,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
		top: 112px !important;
		bottom: auto !important;
		height: 93px !important;
	}

	.restaurant-menu-app-cart-fab {
		right: 16px !important;
		bottom: 92px !important;
		width: 54px !important;
		min-width: 54px !important;
		height: 54px !important;
		min-height: 54px !important;
		padding: 0 !important;
		border-radius: 999px !important;
		font-size: 0 !important;
	}

	.restaurant-menu-app-cart-fab > span {
		margin: 0 !important;
	}

	.restaurant-menu-app-cart-fab > b {
		position: absolute !important;
		top: -7px !important;
		right: -7px !important;
		width: 24px !important;
		min-width: 24px !important;
		height: 24px !important;
		font-size: 0.78rem !important;
	}
}

@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-loop-product__link::after,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.woocommerce-shop.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_cat.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after,
	body.tax-product_tag.restaurant-app-ui ul.products li.product a.woocommerce-LoopProduct-link::after {
		top: 120px !important;
		bottom: auto !important;
		height: 108px !important;
	}
}

/* Hard guard: desktop app content must never sit underneath the fixed rail. */
@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui {
		--restaurant-rail-space: 316px;
		--restaurant-page-gutter: 34px;
	}

	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui {
		--restaurant-rail-space: 112px;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .site-main,
	body.menu-app-rail-collapsed.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .site-main {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 34px var(--restaurant-page-gutter) 82px var(--restaurant-rail-space) !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
	body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
	body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
	body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui .shop-shell,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .shop-shell {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products,
	body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		margin-top: 0 !important;
		margin-bottom: 34px !important;
	}
}

/* WooCommerce archive places these app surfaces outside the main wrapper in some setups. Offset them directly. */
@media (min-width: 981px) {
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-category-nav,
	body.restaurant-menu-app-view.restaurant-app-ui .shop-toolbar,
	body.restaurant-menu-app-view.restaurant-app-ui ul.products,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui ul.products,
	body.woocommerce-shop.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.tax-product_cat.restaurant-menu-app-view.restaurant-app-ui ul.products.products,
	body.tax-product_tag.restaurant-menu-app-view.restaurant-app-ui ul.products.products {
		width: calc(100vw - var(--restaurant-rail-space) - var(--restaurant-page-gutter)) !important;
		max-width: none !important;
		margin-left: var(--restaurant-rail-space) !important;
		margin-right: var(--restaurant-page-gutter) !important;
	}

	body.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header,
	body.menu-app-rail-collapsed.restaurant-menu-app-view.restaurant-app-ui .restaurant-menu-app-header {
		margin-top: 34px !important;
		margin-bottom: 34px !important;
	}
}

/* Cart item card redesign. */
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items tbody {
	gap: 16px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 112px minmax(0, 1fr) auto !important;
	grid-template-areas: "image product total" !important;
	gap: 18px !important;
	align-items: center !important;
	min-height: 148px !important;
	padding: 18px 20px !important;
	overflow: hidden !important;
	border: 1px solid rgba(30, 22, 16, 0.1) !important;
	border-radius: 24px !important;
	background: linear-gradient(135deg, #ffffff 0%, #fffaf3 100%) !important;
	box-shadow: 0 14px 34px rgba(38, 28, 18, 0.08) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row::before {
	position: absolute !important;
	inset: 0 auto 0 0 !important;
	width: 5px !important;
	background: var(--menu-app-red) !important;
	content: "" !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
	width: 112px !important;
	height: 112px !important;
	border: 1px solid rgba(30, 22, 16, 0.08) !important;
	border-radius: 20px !important;
	object-fit: cover !important;
	box-shadow: 0 10px 24px rgba(30, 22, 16, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__product {
	align-self: stretch !important;
	display: grid !important;
	align-content: center !important;
	min-width: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 14px !important;
	align-items: start !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
	display: grid !important;
	gap: 4px !important;
	width: fit-content !important;
	max-width: 100% !important;
	color: var(--menu-app-ink) !important;
	font-size: 1.28rem !important;
	font-weight: 950 !important;
	line-height: 1.08 !important;
	text-decoration: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name::before {
	color: var(--menu-app-muted) !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.16em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	content: "Dish" !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__quantity {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
	display: inline-grid !important;
	grid-template-columns: 42px 48px 42px !important;
	width: auto !important;
	min-width: 132px !important;
	height: 44px !important;
	overflow: hidden !important;
	border: 1px solid rgba(226, 47, 47, 0.18) !important;
	border-radius: 999px !important;
	background: #fff4f2 !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.74) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector__button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
	min-height: 42px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--menu-app-red) !important;
	font-size: 0.95rem !important;
	font-weight: 950 !important;
	text-align: center !important;
	box-shadow: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
	border-right: 1px solid rgba(226, 47, 47, 0.08) !important;
	border-left: 1px solid rgba(226, 47, 47, 0.08) !important;
	color: var(--menu-app-ink) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 98px !important;
	min-height: 42px !important;
	padding: 0 16px !important;
	border: 1px solid rgba(226, 47, 47, 0.18) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--menu-app-red) !important;
	font-size: 0.88rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(38, 28, 18, 0.05) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link::before,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link::before,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link svg,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link svg {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link::after,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link::after {
	display: inline !important;
	color: currentColor !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: 1 !important;
	content: "Remove" !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	justify-self: end !important;
	min-width: 116px !important;
	min-height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid rgba(30, 22, 16, 0.08) !important;
	border-radius: 16px !important;
	background: #18110d !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: 0 14px 28px rgba(24, 17, 13, 0.16) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total > *,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	line-height: 1 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total .wc-block-formatted-money-amount {
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

@media (max-width: 980px) {
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
		grid-template-columns: 82px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image total" !important;
		gap: 12px !important;
		min-height: 0 !important;
		padding: 14px !important;
		border-radius: 20px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
		width: 82px !important;
		height: 82px !important;
		border-radius: 16px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
		font-size: 1.08rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__quantity {
		gap: 8px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
		grid-template-columns: 36px 42px 36px !important;
		min-width: 114px !important;
		height: 40px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector__button,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
		min-height: 38px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link {
		min-width: 86px !important;
		min-height: 40px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
		justify-self: start !important;
		min-width: 106px !important;
		padding: 10px 12px !important;
		border-radius: 14px !important;
		font-size: 0.92rem !important;
	}
}

/* Final cart composition: no oversized empty WooCommerce panel, just the order card and totals card. */
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
	align-items: start !important;
	grid-template-columns: minmax(0, 1fr) 380px !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__main,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-main {
	align-self: start !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items tbody {
	display: grid !important;
	align-content: start !important;
	gap: 14px !important;
	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
	grid-template-columns: 124px minmax(260px, 1fr) auto !important;
	grid-template-areas: "image product total" !important;
	gap: 20px !important;
	width: 100% !important;
	min-height: 156px !important;
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 1px solid rgba(30, 22, 16, 0.12) !important;
	border-radius: 22px !important;
	background: #fffdf8 !important;
	box-shadow: 0 18px 42px rgba(38, 28, 18, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
	width: 124px !important;
	height: 118px !important;
	border-radius: 18px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	align-content: center !important;
	gap: 14px !important;
	height: 100% !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__quantity {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
	font-size: 1.32rem !important;
	line-height: 1.08 !important;
	text-transform: capitalize !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
	grid-template-columns: 44px 52px 44px !important;
	min-width: 140px !important;
	height: 46px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector__button,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
	min-height: 44px !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link {
	min-width: 104px !important;
	min-height: 44px !important;
	background: #fff !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	min-width: 126px !important;
	min-height: 48px !important;
	border-radius: 16px !important;
	font-size: 1.02rem !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart__sidebar,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-sidebar {
	position: sticky !important;
	top: 34px !important;
	align-self: start !important;
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid rgba(30, 22, 16, 0.12) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 18px 42px rgba(38, 28, 18, 0.1) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .cart-qr-box {
	margin-top: 24px !important;
}

@media (max-width: 980px) {
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wp-block-woocommerce-cart,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row {
		grid-template-columns: 86px minmax(0, 1fr) 104px !important;
		grid-template-areas: "image product total" !important;
		gap: 10px !important;
		align-items: center !important;
		min-height: 0 !important;
		padding: 12px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image a,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__image img {
		width: 86px !important;
		height: 86px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name {
		font-size: 1.02rem !important;
		line-height: 1.08 !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-product-name::before {
		font-size: 0.58rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector {
		grid-template-columns: 32px 38px 32px !important;
		min-width: 102px !important;
		height: 36px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector__button,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-components-quantity-selector input {
		min-height: 34px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__remove-link,
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui button.wc-block-cart-item__remove-link {
		min-width: 82px !important;
		min-height: 36px !important;
		font-size: 0.78rem !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
		justify-self: end !important;
		min-width: 100px !important;
		min-height: 40px !important;
		padding: 0 10px !important;
		font-size: 0.86rem !important;
	}
}

@media (max-width: 430px) {
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__quantity {
		gap: 6px !important;
	}

	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__wrap {
		gap: 8px !important;
	}
}

/* Final cart visual corrections: remove accent strip and keep item price readable. */
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-items__row::before {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
	display: grid !important;
	place-items: center !important;
	height: 48px !important;
	border: 1px solid rgba(30, 22, 16, 0.12) !important;
	background: #fff !important;
	color: var(--menu-app-ink, #18110d) !important;
	line-height: normal !important;
	box-shadow: 0 12px 24px rgba(38, 28, 18, 0.08) !important;
}

body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total *,
body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--menu-app-ink, #18110d) !important;
	line-height: normal !important;
}

@media (max-width: 980px) {
	body.woocommerce-cart.restaurant-menu-app-view.restaurant-app-ui .wc-block-cart-item__total {
		height: 40px !important;
	}
}

/* Coming Soon page template. */
body.nebula-coming-soon-page {
	min-height: 100vh;
	margin: 0;
	background:
		linear-gradient(135deg, rgba(8, 117, 111, 0.12), rgba(217, 95, 69, 0.08)),
		var(--color-canvas, #fbfaf7);
	color: var(--color-ink, #13201d);
	font-family: var(--jv-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.nebula-coming-soon {
	display: grid;
	min-height: 100vh;
	padding: clamp(24px, 5vw, 64px);
}

.nebula-coming-soon__shell {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
	width: min(1180px, 100%);
	margin: auto;
}

.nebula-coming-soon__shell--solo {
	grid-template-columns: minmax(0, 840px);
	justify-content: center;
}

.nebula-coming-soon__content {
	display: grid;
	gap: 24px;
}

.nebula-coming-soon__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	min-height: 58px;
	padding: 8px 14px 8px 8px;
	border: 1px solid rgba(19, 32, 29, 0.1);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 16px 38px rgba(38, 26, 18, 0.08);
	font-weight: 800;
}

.nebula-coming-soon__logo,
.nebula-coming-soon__mark {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 8px;
	background: var(--color-teal, #08756f);
	color: #fff;
	font-weight: 900;
}

.nebula-coming-soon__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nebula-coming-soon__eyebrow {
	margin: 0;
	color: var(--color-coral, #d95f45);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.nebula-coming-soon h1 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(2.7rem, 7vw, 6.4rem);
	line-height: 0.96;
	letter-spacing: 0;
}

.nebula-coming-soon__text {
	max-width: 660px;
	color: rgba(19, 32, 29, 0.74);
	font-size: 1.08rem;
	line-height: 1.65;
}

.nebula-coming-soon__text > * {
	margin-top: 0;
}

.nebula-coming-soon__text > *:last-child {
	margin-bottom: 0;
}

.nebula-coming-soon-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 720px;
}

.nebula-coming-soon-socials a {
	display: inline-grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 50px;
	padding: 6px 16px 6px 6px;
	border: 1px solid rgba(19, 32, 29, 0.1);
	border-radius: 8px;
	background: var(--color-surface, #fff);
	color: var(--color-ink, #13201d);
	text-decoration: none;
	box-shadow: 0 12px 26px rgba(38, 26, 18, 0.07);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.nebula-coming-soon-socials a:hover,
.nebula-coming-soon-socials a:focus-visible {
	border-color: color-mix(in srgb, var(--color-teal, #08756f) 42%, transparent);
	box-shadow: 0 16px 30px rgba(8, 117, 111, 0.16);
	transform: translateY(-2px);
}

.nebula-coming-soon-socials span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--color-teal, #08756f) 10%, #fff);
	color: var(--color-teal, #08756f);
	font-size: 0.74rem;
	font-weight: 900;
}

.nebula-coming-soon-socials strong {
	overflow-wrap: anywhere;
	font-size: 0.95rem;
}

.nebula-coming-soon__media {
	position: relative;
	aspect-ratio: 4 / 5;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.66);
	box-shadow: 0 28px 70px rgba(38, 26, 18, 0.18);
}

.nebula-coming-soon__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 860px) {
	.nebula-coming-soon {
		padding: 22px;
	}

	.nebula-coming-soon__shell {
		grid-template-columns: 1fr;
		gap: 28px;
		align-items: start;
	}

	.nebula-coming-soon__media {
		aspect-ratio: 16 / 10;
		order: -1;
	}

	.nebula-coming-soon h1 {
		font-size: clamp(2.5rem, 15vw, 4.4rem);
	}
}
