/* Royal Mustang – menu pages (Wolt-style like Villa Nepal, display only – no cart) */
/* ---------- Menu (Wolt-style, like Villa Nepal – no cart). Layout lives in the Elementor classes rm-wm-* / rm-wc-* ---------- */
body .rm-wm .rm-wm-nav { position: sticky; top: var(--rm-wm-top, 78px); }
.rm-wm-tabs { scrollbar-width: none; }
.rm-wm-tabs::-webkit-scrollbar { display: none; }
.rm-wm-tab a, .rm-wm-tab { text-decoration: none; color: inherit; }
body .rm-wm .rm-wm-tab.is-active, body .rm-wm .rm-wm-tab.is-active > a { background-color: var(--rm-mist-deep, #E6EEF8); color: var(--rm-blue, #0B3D7A); }
.rm-wm .rm-wm-tab[hidden], .rm-wm .rm-wm-sec[hidden], .rm-wm .rm-wc-card[hidden], .rm-wm .rm-line[hidden] { display: none !important; }
.rm-wm-search {
	flex: 0 0 280px;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	background: #F0F3F8;
	color: #5B5D72;
}
.rm-wm-search svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
body .rm-wm-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	font: 400 15px/1.2 'Anek Malayalam', system-ui, sans-serif;
	color: var(--rm-ink, #13203A);
	-webkit-appearance: none;
	appearance: none;
}
.rm-wm-search:focus-within { box-shadow: 0 0 0 2px var(--rm-blue, #0B3D7A); }
.rm-wm-empty { width: 100%; max-width: 1560px; margin: 40px auto 0; padding: 0 24px; font: 400 17px/1.5 'Anek Malayalam', sans-serif; color: #5B5D72; }
@media (max-width: 1024px) { .rm-wm-search { flex-basis: 220px; } }
@media (max-width: 767px) {
	.rm-wm-search { order: -1; flex: 1 1 100%; height: 40px; }
	.rm-wm-empty { padding: 0 12px; }
}

/* Popular row = horizontal carousel */
body .rm-wm .rm-wm-row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.rm-wm-row::-webkit-scrollbar { display: none; }
body .rm-wm .rm-wm-row > * { scroll-snap-align: start; }
@media (max-width: 1024px) { body .rm-wm .rm-wm-row { grid-auto-columns: calc((100% - 16px) / 2); } }
@media (max-width: 767px) { body .rm-wm .rm-wm-row { grid-auto-columns: 86%; } }

/* Cards: equal height, text clamped like Wolt */
.rm-wc-card { outline: none; }
.rm-wc-card:focus-visible { box-shadow: 0 0 0 2px var(--rm-blue, #0B3D7A); }
.rm-wc-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: none; }
body .rm-wc-card .rm-wc-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: none; flex: none; }
body .rm-wc-card.is-long .rm-wc-desc,
body .rm-wc-card.has-kind .rm-wc-desc { -webkit-line-clamp: 2; }
body .rm-wc-card.has-kind.is-long .rm-wc-desc { -webkit-line-clamp: 1; }
.rm-wc-badge:empty, .rm-wc-kind:empty { display: none; }
body .rm-wc-card .rm-wc-full { display: none; }
.rm-wc-card .rm-wc-img { pointer-events: none; }
/* dish without a photo: text uses the whole card (like Villa Nepal) */
body .rm-wc-card img.rm-wc-img:not([src]):not([data-src]),
body .rm-wc-card img.rm-wc-img[src=""] { display: none; }

/* Dish popup */
.rm-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(10, 16, 30, .55);
	animation: rm-fade .18s ease-out;
}
.rm-modal[hidden] { display: none; }
.rm-modal * { box-sizing: border-box; }
.rm-modal .rm-dialog {
	position: relative;
	width: min(540px, 100%);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	background: #FFFFFF;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(10, 16, 30, .35);
	outline: none;
	animation: rm-rise .22s cubic-bezier(.2, .8, .2, 1);
}
body .rm-modal button { margin: 0; border: 0; font: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; }
.rm-modal svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
body .rm-modal .rm-close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--rm-ink, #13203A);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
	cursor: pointer;
}
body .rm-modal .rm-close:hover { background: #FFFFFF; color: var(--rm-blue, #0B3D7A); }
.rm-modal .rm-m-img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #F0F3F8; }
.rm-modal .rm-m-body { padding: 22px 24px 20px; border-bottom: 1px solid #E8ECF2; font-family: 'Anek Malayalam', system-ui, sans-serif; }
.rm-modal .rm-m-body.no-img { padding-top: 64px; }
.rm-modal .rm-m-kind { margin: 0 0 6px; font: 600 12px/1.2 Akshar, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--rm-red, #C8281E); }
.rm-modal .rm-m-name { margin: 0 0 10px; font: 700 32px/1.15 Akshar, system-ui, sans-serif; color: var(--rm-ink, #13203A); text-transform: none; letter-spacing: normal; }
.rm-modal .rm-m-meta { display: flex; align-items: center; gap: 10px; }
.rm-modal .rm-m-price { font-size: 17px; font-weight: 600; color: var(--rm-blue, #0B3D7A); }
.rm-modal .rm-m-badge { padding: 4px 9px 3px; border-radius: 999px; background: var(--rm-mist-deep, #E6EEF8); color: var(--rm-blue, #0B3D7A); font-size: 12px; font-weight: 700; line-height: 1; }
.rm-modal .rm-m-desc { margin-top: 16px; font-size: 16px; line-height: 1.6; color: var(--rm-ink, #13203A); }
.rm-modal .rm-m-desc p { margin: 0 0 .7em; }
.rm-modal .rm-m-desc em { color: #5B5D72; }
.rm-modal .rm-m-desc.is-clamped { max-height: calc(1.6em * 3); overflow: hidden; }
body .rm-modal .rm-more { margin-top: 6px; padding: 0; background: none; color: var(--rm-ink, #13203A); font-weight: 700; font-size: 15px; line-height: 1.4; cursor: pointer; }
body .rm-modal .rm-more:hover { color: var(--rm-blue, #0B3D7A); text-decoration: underline; background: none; }
.rm-modal .rm-m-related { padding: 20px 24px 22px; }
.rm-modal .rm-m-related h3 { margin: 0 0 14px; font: 700 24px/1.2 Akshar, system-ui, sans-serif; color: var(--rm-ink, #13203A); text-transform: none; }
.rm-modal .rm-m-rel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rm-modal .rm-rel { position: relative; display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: #FFFFFF; box-shadow: 0 1px 2px rgba(19, 32, 58, .06), 0 2px 12px rgba(19, 32, 58, .07); cursor: pointer; outline: none; }
.rm-modal .rm-rel:focus-visible { box-shadow: 0 0 0 2px var(--rm-blue, #0B3D7A); }
.rm-modal .rm-rel-media { height: 130px; background: #F0F3F8; }
.rm-modal .rm-rel-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rm-modal .rm-rel-text { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 2px; font-family: 'Anek Malayalam', sans-serif; }
.rm-modal .rm-rel-price { font-size: 15px; color: var(--rm-ink, #13203A); }
.rm-modal .rm-rel-name { font: 600 15px/1.25 Akshar, system-ui, sans-serif; color: var(--rm-ink, #13203A); }
html.rm-lock { overflow: hidden; }
@keyframes rm-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rm-rise { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
	.rm-modal { align-items: flex-end; padding: 0; }
	.rm-modal .rm-dialog { width: 100%; max-height: 92vh; border-radius: 18px 18px 0 0; }
	.rm-modal .rm-m-body, .rm-modal .rm-m-related { padding-left: 18px; padding-right: 18px; }
	.rm-modal .rm-m-name { font-size: 26px; }
	.rm-modal .rm-rel-media { height: 110px; }
}
@media (prefers-reduced-motion: reduce) { .rm-modal, .rm-modal .rm-dialog { animation: none; } }
