/* Cinema Menu — near-black canvas, neutral tiles with white text, white controls; mint only on the combo card, violet only on the pay path. */

.cm {
	--cm-canvas: #131313;
	--cm-slate: #2d2d2d;
	--cm-mint: #3cffd0;
	--cm-violet: #5200ff;
	--cm-white: #ffffff;
	--cm-muted: #949494;
	--cm-ink: #131313;
	--cm-display: "Lalezar", "Vazirmatn", Tahoma, sans-serif;

	max-width: 560px;
	margin: 0 auto;
	padding-bottom: 96px;
	color: var(--cm-white);
	font-family: "Vazirmatn", Tahoma, sans-serif;
}

.cm button {
	font-family: inherit;
	cursor: pointer;
}

.cm button:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.cm img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Category name stays for screen readers only; the active chip already shows it. */
.cm-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- Header: brand, seat pill, giant question ---------- */

.cm-head {
	padding: 16px 16px 0;
}

.cm-head__row {
	display: flex;
	justify-content: flex-end; /* RTL: keeps the seat pill on the left */
	align-items: center;
	gap: 10px;
}


.cm-seat {
	background: var(--cm-slate);
	color: #e9e9e9;
	border-radius: 9999px;
	padding: 4px 12px;
	font-size: .8rem;
	font-weight: 700;
	white-space: nowrap;
}

.cm-seat em {
	font-style: normal;
	color: #ffffff;
	font-weight: 900;
}

.cm-seat--none {
	color: var(--cm-muted);
	font-weight: 500;
}

.cm .cm-head__title {
	font-family: var(--cm-display);
	font-weight: 400;
	font-size: 3.1rem;
	line-height: 1.05;
	margin: 6px 0 10px;
	color: var(--cm-white);
	letter-spacing: 0;
	text-wrap: balance;
}

/* ---------- Combo card ---------- */

.cm-combo {
	--tile: var(--cm-mint);
	--tile-ink: var(--cm-ink);
	--tile-sym: var(--cm-ink);
	margin: 4px 16px 22px;
	border-radius: 30px;
	background: var(--cm-mint);
	color: #000;
	padding: 18px;
	display: grid;
	grid-template-columns: 1fr 92px;
	gap: 12px;
	align-items: center;
}

.cm-combo__kicker {
	font-size: .8rem;
	font-weight: 800;
}

.cm-combo__title {
	font-family: var(--cm-display);
	font-size: 1.6rem;
	line-height: 1.25;
}

.cm-combo__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 6px 0 12px;
}

.cm-combo__was {
	font-size: .82rem;
	font-weight: 600;
	color: rgba(0, 0, 0, .55);
	text-decoration-thickness: 2px;
}

.cm-combo__now {
	font-weight: 900;
	font-size: 1.05rem;
}

.cm-combo__off {
	background: var(--cm-violet);
	color: #fff;
	border-radius: 9999px;
	padding: 2px 10px;
	font-size: .78rem;
	font-weight: 800;
	transform: rotate(-3deg);
}

.cm-combo__img {
	width: 92px;
	height: 92px;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
}

/* "Grab it" button (replaces + on the combo). */
.cm .cm-grab {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 9999px;
	background: var(--cm-ink);
	color: var(--cm-mint);
	padding: 12px 16px;
	font-weight: 900;
	font-size: 1.05rem;
	line-height: 1.2;
	box-shadow: 0 5px 0 rgba(0, 0, 0, .25);
	transition: transform .15s, box-shadow .15s;
}

.cm .cm-grab:hover { transform: translateY(-1px); }

.cm .cm-grab:active {
	transform: translateY(3px);
	box-shadow: 0 3px 0 rgba(0, 0, 0, .25);
}

.cm-grab i {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--cm-mint);
	color: var(--cm-ink);
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 1rem;
	animation: cm-wiggle 1.6s ease-in-out 1s 3;
}

@keyframes cm-wiggle {
	0%, 70%, 100% { transform: rotate(0); }
	78% { transform: rotate(-14deg); }
	86% { transform: rotate(12deg); }
	94% { transform: rotate(-6deg); }
}

/* ---------- Category chips ---------- */

.cm-chips {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 10px 16px;
	/* Solid fill, no backdrop blur: blur on a sticky bar is repainted every frame on iOS and makes fast scrolling jumpy. */
	background: #131313;
}

.cm-chips::-webkit-scrollbar { display: none; }

.cm-chips button {
	flex: 0 0 auto;
	border: 1px solid var(--cm-white);
	background: transparent;
	color: var(--cm-white);
	border-radius: 24px;
	padding: 6px 16px;
	font-size: .9rem;
	font-weight: 700;
}

.cm-chips button.is-on {
	background: var(--cm-white);
	color: var(--cm-ink);
}

/* ---------- Product tiles (colour comes from the photo) ---------- */

.cm-sec {
	display: grid;
	gap: 10px;
	padding: 4px 16px 16px;
}

.cm-sec[hidden] { display: none; }

.cm-row {
	background: #1f1f1f;
	border: 1px solid rgba(255, 255, 255, .07);
	color: var(--cm-white);
	scroll-margin-top: 72px; /* stays clear of the sticky category chips when focused */
	border-radius: 24px;
	padding: 14px;
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 12px;
	align-items: center;
}

.cm-row__img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, .18);
}

.cm-row__body { min-width: 0; }

.cm .cm-row__name {
	font-family: var(--cm-display);
	font-weight: 400;
	font-size: 1.22rem;
	line-height: 1.35;
	letter-spacing: 0;
}

.cm .cm-row__desc {
	font-size: .8rem;
	font-weight: 400;
	color: #c9c9c9;
}

.cm-row__price {
	font-weight: 800;
	font-size: .9rem;
	margin-top: 2px;
	font-variant-numeric: tabular-nums;
}

.cm-row__price s {
	opacity: .6;
	font-weight: 500;
	font-size: .78rem;
}

.cm-row.is-out { opacity: .5; }

.cm-out {
	font-size: .8rem;
	font-weight: 800;
}

/* ---------- Add / stepper ---------- */

.cm-ctl { display: inline-flex; }
.cm-ctl.is-busy { opacity: .55; pointer-events: none; }

.cm-add {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 0;
	background: #ffffff;
	color: var(--cm-ink);
	font-size: 1.4rem;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
	font-weight: 900;
	line-height: 1;
	padding: 0;
}

.cm-step {
	display: none;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, .12);
	border-radius: 9999px;
	padding: 3px;
}

.cm-step button {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 0;
	background: #ffffff;
	color: var(--cm-ink);
	font-weight: 900;
	font-size: 1.05rem;
	line-height: 1;
	padding: 0;
}

.cm-q {
	min-width: 1.4em;
	text-align: center;
	font-weight: 800;
	color: var(--cm-white);
}

.cm-ctl:not([data-qty="0"]) .cm-add { display: none; }
.cm-ctl:not([data-qty="0"]) .cm-step { display: flex; }

/* ---------- Cart bar & toast ---------- */

.cm-bar {
	position: fixed;
	z-index: 20;
	left: 50%;
	transform: translateX(-50%);
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	width: min(528px, calc(100% - 24px));
	border: 0;
	border-radius: 24px;
	background: var(--cm-violet);
	color: #ffffff;
	padding: 14px 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: "Vazirmatn", Tahoma, sans-serif;
	font-size: 1rem;
	font-weight: 800;
	box-shadow: 0 10px 30px rgba(82, 0, 255, .35), 0 6px 18px rgba(0, 0, 0, .5);
}

.cm-bar[hidden] { display: none; }

.cm-bar__count {
	margin-inline-start: 10px;
	background: rgba(255, 255, 255, .2);
	border-radius: 9999px;
	padding: 2px 10px;
	font-size: .82rem;
	font-weight: 800;
}

.cm-toast {
	position: fixed;
	z-index: 21;
	left: 50%;
	bottom: calc(82px + env(safe-area-inset-bottom, 0px));
	transform: translate(-50%, 8px);
	background: #ffffff;
	color: var(--cm-ink);
	border-radius: 24px;
	padding: 9px 18px;
	font-size: .88rem;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s, transform .2s;
	white-space: nowrap;
}

.cm-toast.is-on {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Our own cart bar replaces WPCafe's floating mini-cart on the menu. */
body:has(.cm) .wpc_cart_block,
body:has(.cm) .wpc-cart_main_block,
body:has(.cm) .wpc-menu-mini-cart {
	display: none !important;
}

/* ---------- Cart sheet ---------- */

/* Background scroll lock is done in JS (body pinned at its scroll offset), which iOS respects. */

.cm-sheet {
	position: fixed;
	inset: 0;
	z-index: 100;
}

.cm-sheet[hidden] { display: none; }

.cm-sheet__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .65);
	opacity: 0;
	transition: opacity .2s;
}

.cm-sheet__panel {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: min(560px, 100%);
	max-height: 82vh;
	display: flex;
	flex-direction: column;
	background: #1b1b1b;
	color: var(--cm-white);
	border-radius: 28px 28px 0 0;
	box-shadow: 0 -12px 40px rgba(0, 0, 0, .6);
	transform: translate(-50%, 100%);
	transition: transform .22s ease-out;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

.cm-sheet.is-open .cm-sheet__backdrop { opacity: 1; }
.cm-sheet.is-open .cm-sheet__panel { transform: translate(-50%, 0); }

.cm-sheet__grip {
	width: 44px;
	height: 5px;
	border-radius: 99px;
	background: #444;
	margin: 10px auto 2px;
}

.cm-sheet__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px 16px 0;
}

.cm .cm-sheet__title {
	font-family: var(--cm-display);
	font-weight: 400;
	font-size: 1.6rem;
	margin: 0;
	letter-spacing: 0;
	color: var(--cm-white);
}

.cm-sheet__close {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--cm-white);
	background: transparent;
	color: var(--cm-white);
	font-size: 1.4rem;
	line-height: 1;
	padding: 0;
}

.cm-sheet__seat {
	margin: 2px 16px 6px;
	font-size: .8rem;
	color: var(--cm-muted);
	font-weight: 700;
}

.cm-sheet__list {
	overflow-y: auto;
	padding: 0 16px;
	flex: 1;
	overscroll-behavior: contain;
}

.cm-line {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.cm-line.is-busy { opacity: .5; pointer-events: none; }

/* Cart sheet steppers stay neutral: grey pill, white buttons, dark symbols. */
.cm-line {
	--tile-ink: #ffffff;
	--tile-sym: var(--cm-ink);
}

.cm-line .cm-step {
	background: var(--cm-slate);
}

.cm-line__img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	overflow: hidden;
}

.cm-line__body { min-width: 0; }

.cm-line__name {
	font-family: var(--cm-display);
	font-size: 1.05rem;
	line-height: 1.4;
}

.cm-line__price {
	color: #ffffff;
	font-weight: 800;
	font-size: .86rem;
}

.cm-sheet__foot {
	padding: 12px 16px 16px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: grid;
	gap: 10px;
}

.cm-sheet__sum {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-weight: 700;
}

.cm-sheet__total {
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 900;
}

.cm-sheet__pay {
	display: block;
	text-align: center;
	background: var(--cm-violet);
	color: #ffffff !important;
	border-radius: 24px;
	padding: 13px 16px;
	font-weight: 900;
	font-size: 1.05rem;
	text-decoration: none !important;
}

.cm-sheet__more {
	border: 1px solid rgba(255, 255, 255, .5);
	background: transparent;
	color: var(--cm-white);
	border-radius: 24px;
	padding: 10px 16px;
	font-weight: 700;
	font-size: .9rem;
}

@media (prefers-reduced-motion: reduce) {
	.cm-toast,
	.cm-sheet__panel,
	.cm-sheet__backdrop,
	.cm .cm-grab { transition: none; }
	.cm-grab i { animation: none; }
}


/* ======================================================================
   Interface-guidelines pass (2026-10-06)
   ====================================================================== */

/* (5, 11) No double-tap zoom on fast taps; no grey/blue tap flash. */
.cm,
.cm-sheet {
	touch-action: manipulation;
}

.cm button,
.cm a {
	-webkit-tap-highlight-color: transparent;
}

/* (4) Touch targets reach 44px without changing how the buttons look. */
.cm-add,
.cm-step button,
.cm-chips button,
.cm-sheet__close {
	position: relative;
}

.cm-add::before,
.cm-step button::before,
.cm-chips button::before,
.cm-sheet__close::before {
	content: "";
	position: absolute;
	inset: -6px;
}

.cm-chips button::before {
	inset: -5px -4px;
}

/* Pressed feedback on touch (hover doesn't exist on phones). */
.cm button:active:not(:disabled):not(.cm-bar) {
	transform: scale(.94);
}

.cm-add,
.cm-step button,
.cm-chips button,
.cm-bar {
	transition: transform .12s ease-out;
}

.cm-bar:active {
	transform: translateX(-50%) scale(.98);
}

/* (6) Toast with an "undo" action. */
.cm-toast.has-action {
	pointer-events: auto;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 6px 14px;
}

.cm-toast__action {
	border: 0;
	border-radius: 9999px;
	background: var(--cm-ink);
	color: #ffffff;
	font-weight: 800;
	font-size: .85rem;
	padding: 7px 14px;
	position: relative;
}

.cm-toast__action::before {
	content: "";
	position: absolute;
	inset: -6px;
}

.cm-bar__total,
.cm-sheet__total,
.cm-line__price {
	font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
	.cm-add,
	.cm-step button,
	.cm-chips button,
	.cm-bar { transition: none; }
}

/* Stepper "−" turns into a red trash can at quantity 1. */
.cm-step [data-act="dec"] {
	display: grid;
	place-items: center;
}

.cm-ico-trash {
	display: none;
}

.cm-ctl[data-qty="1"] .cm-ico-minus {
	display: none;
}

.cm-ctl[data-qty="1"] .cm-ico-trash {
	display: block;
	color: #e5484d;
}


/* (1) The combo's control spans the text column, so the full-width "برمی‌دارم!" fits. */
.cm-combo .cm-ctl {
	display: flex;
	width: 100%;
}

.cm-combo .cm-ctl:not([data-qty="0"]) {
	width: auto;
}

/* (2, 4) Prices: the number carries the weight, the unit steps back. */
.cb-money {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.cb-money__num {
	font-weight: 900;
	font-size: 1.12em;
	letter-spacing: 0;
}

.cb-money__unit {
	font-size: .72em;
	font-weight: 500;
	opacity: .72;
}

.cm-row__price .cb-money__num {
	font-size: 1.2em;
}

.cm-row__price s,
.cm-combo__was {
	font-size: .78rem;
}


/* "برمی‌دارم!" — sunset gradient that pops on the mint card; both ends keep white text ≥5:1. */
.cm .cm-grab {
	position: relative;
	overflow: hidden;
	background: linear-gradient(100deg, #be185d 0%, #c2410c 100%);
	color: #ffffff;
	box-shadow: 0 5px 0 #7a0f3b, 0 10px 22px rgba(190, 24, 93, .35);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .15);
}

.cm .cm-grab:active {
	box-shadow: 0 2px 0 #7a0f3b, 0 6px 14px rgba(190, 24, 93, .3);
}

/* A soft highlight sweeps across a few times, then rests. */
.cm .cm-grab::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 40%;
	left: -60%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent);
	transform: skewX(-18deg);
	animation: cm-sweep 2.6s ease-in-out .8s 3;
	pointer-events: none;
}

@keyframes cm-sweep {
	0% { left: -60%; }
	55%, 100% { left: 130%; }
}

@media (prefers-reduced-motion: reduce) {
	.cm .cm-grab::after { animation: none; display: none; }
}

/* Same in the cart sheet: no border under the last line, the footer rule is the divider. */
.cm-line:last-child {
	border-bottom: 0;
}

/* Photos as rounded squares (shows the whole picture, matches the rounded tiles). */
.cm-row {
	grid-template-columns: 76px 1fr auto;
}

.cm-row__img {
	width: 76px;
	height: 76px;
	border-radius: 14px;
	border: 0;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1);
}

.cm-combo {
	grid-template-columns: 1fr 96px;
}

.cm-combo__img {
	width: 96px;
	height: 96px;
	border-radius: 18px;
}

.cm-line {
	grid-template-columns: 56px 1fr auto;
}

.cm-line__img {
	width: 56px;
	height: 56px;
	border-radius: 12px;
	border: 0;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1);
}

.cm-row__img img,
.cm-combo__img img,
.cm-line__img img {
	border-radius: inherit;
}


/* ---------- Product detail popup ---------- */

/* Photos are buttons now: reset the native look, keep the rounded-square frame. */
button.cm-row__img,
button.cm-combo__img {
	padding: 0;
	border: 0;
	background: #2d2d2d;
	cursor: zoom-in;
	display: block;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}

button.cm-row__img:focus-visible,
button.cm-combo__img:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.cm-detail {
	position: fixed;
	inset: 0;
	z-index: 110;
	display: grid;
	place-items: center;
	padding: 16px;
}

.cm-detail[hidden] { display: none; }

.cm-detail__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .72);
	opacity: 0;
	transition: opacity .18s ease-out;
}

.cm-detail__card {
	position: relative;
	width: min(360px, 100%);
	max-height: calc(100vh - 32px);
	display: flex;
	flex-direction: column;
	background: #1d1d1d;
	color: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .6);
	transform: scale(.96);
	opacity: 0;
	transition: transform .18s ease-out, opacity .18s ease-out;
	overscroll-behavior: contain;
}

.cm-detail.is-open .cm-detail__backdrop { opacity: 1; }
.cm-detail.is-open .cm-detail__card { transform: none; opacity: 1; }

.cm-detail__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #2d2d2d;
	flex: 0 0 auto;
}

.cm-detail__close {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, .92);
	color: #131313;
	font-size: 1.4rem;
	line-height: 1;
	padding: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

.cm-detail__close::before {
	content: "";
	position: absolute;
	inset: -4px;
}

.cm-detail__body {
	padding: 16px 18px 18px;
	overflow-y: auto;
	display: grid;
	gap: 8px;
}

.cm .cm-detail__title {
	font-family: var(--cm-display);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.35;
	margin: 0;
	letter-spacing: 0;
	text-wrap: balance;
}

.cm-detail__desc {
	margin: 0;
	color: #d0d0d0;
	font-size: .92rem;
	line-height: 1.85;
}

.cm-detail__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 6px;
}

.cm-detail__price {
	font-size: 1.05rem;
	font-weight: 800;
}

.cm-detail__price s {
	display: none; /* keep the popup price clean; the tile shows the old price */
}

/* The combo's full-width "برمی‌دارم!" shrinks to fit the popup footer. */
.cm-detail .cm-grab {
	width: auto;
	padding: 11px 22px;
}

.cm-detail .cm-ctl {
	width: auto;
}

@media (prefers-reduced-motion: reduce) {
	.cm-detail__backdrop,
	.cm-detail__card { transition: none; }
}

/* ======================================================================
   Combo card re-layout: [text | photo] top-aligned, full-width action below.
   ====================================================================== */

.cm-combo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 104px;
	grid-template-areas:
		"text media"
		"cta  cta";
	gap: 14px 14px;
	align-items: start;
	padding: 18px;
}

.cm-combo__text {
	grid-area: text;
	display: grid;
	gap: 4px;
	min-width: 0;
}

.cm-combo__kicker {
	font-size: .82rem;
	font-weight: 800;
	opacity: .75;
}

.cm-combo__title {
	font-size: 1.45rem;
	line-height: 1.3;
	text-wrap: balance;
}

.cm-combo__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 4px 0 0;
}

.cm-combo__now {
	font-size: 1.1rem;
}

.cm-combo__was {
	font-size: .8rem;
	font-weight: 600;
	color: rgba(0, 0, 0, .5);
}

.cm-combo__media {
	grid-area: media;
	position: relative;
	width: 104px;
	height: 104px;
}

.cm-combo__media .cm-combo__img {
	width: 104px;
	height: 104px;
	border-radius: 20px;
}

/* Discount as a tilted sticker on the photo corner instead of its own line. */
.cm-combo__media .cm-combo__off {
	position: absolute;
	top: -8px;
	left: -8px;
	transform: rotate(-8deg);
	box-shadow: 0 4px 10px rgba(0, 0, 0, .25);
	white-space: nowrap;
	pointer-events: none;
}

.cm-combo__cta {
	grid-area: cta;
	display: flex;
	justify-content: center;
}

.cm-combo__cta .cm-ctl {
	width: 100%;
	justify-content: center;
}

.cm-combo__cta .cm-ctl:not([data-qty="0"]) {
	width: auto;
}

/* Price block is always two lines (old price small above, new price big below) so every phone width shows the same layout. */
.cm-combo__price {
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 0;
}

.cm-combo__was {
	order: -1;
	line-height: 1.4;
}

.cm-combo__now {
	line-height: 1.3;
}


/* Menu page only: no rubber-band bounce at the ends of the page. On iPhone the bounce at the bottom of a short
   category, together with Safari's toolbar resizing, was resetting the scroll to the top. */
html:has(.cm),
body:has(.cm) {
	overscroll-behavior-y: none;
}


/* Seat / showtime labels wrap only between their « - » parts. */
.cb-nw {
	white-space: nowrap;
}

/* Buffet closed for the day (last show ended). */
.cm-closed {
	margin: 0 16px 16px;
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(229, 72, 77, .14);
	border: 1px solid rgba(229, 72, 77, .5);
	color: #ffb4b6;
	font-weight: 700;
	line-height: 1.7;
}
