/*
 * MenuMenu public product UI
 * A small, dependency-free visual system shared by the directory, restaurant
 * detail pages, and conversion pages. Tailwind remains available for legacy
 * components; these names own the new surface and keep the redesign scoped.
 */
:root {
    --mm-ink: #173036;
    --mm-ink-soft: #52656a;
    --mm-muted: #718287;
    --mm-line: #dfe9e6;
    --mm-surface: #f7faf8;
    --mm-surface-strong: #edf5f1;
    --mm-card: #ffffff;
    --mm-teal: #087f72;
    --mm-teal-dark: #07584f;
    --mm-teal-soft: #d8f1eb;
    --mm-coral: #e57b52;
    --mm-amber: #e4a845;
    --mm-shadow-sm: 0 8px 24px rgba(20, 58, 55, .07);
    --mm-shadow-md: 0 18px 48px rgba(20, 58, 55, .12);
    --mm-shadow-lg: 0 28px 90px rgba(20, 58, 55, .17);
    --mm-radius-sm: 12px;
    --mm-radius-md: 20px;
    --mm-radius-lg: 28px;
}

html {
    scroll-behavior: smooth;
}

body.mm-public-shell {
    background: var(--mm-surface);
    color: var(--mm-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -.01em;
}

body.mm-public-shell[dir="rtl"] {
    font-family: Vazirmatn, Inter, ui-sans-serif, system-ui, sans-serif;
    letter-spacing: 0;
}

body.mm-public-shell ::selection {
    background: var(--mm-teal-soft);
    color: var(--mm-teal-dark);
}

body.mm-public-shell :focus-visible {
    outline: 3px solid rgba(8, 127, 114, .32);
    outline-offset: 3px;
}

.mm-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

/* Navigation ------------------------------------------------------------ */
.mm-site-nav {
    height: auto !important;
    padding: 16px 0;
    pointer-events: none;
    transition: padding .25s ease;
}

.mm-site-nav .mm-nav-pill {
    pointer-events: auto;
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: none !important;
    height: 70px !important;
    margin: 0 auto !important;
    border: 1px solid rgba(220, 233, 229, .9) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 14px 42px rgba(17, 66, 61, .09) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.mm-site-nav.is-scrolled {
    padding-top: 8px;
}

.mm-site-nav.is-scrolled .mm-nav-pill {
    height: 62px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(17, 66, 61, .13) !important;
}

.mm-nav-inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 12px 0 18px;
}

.mm-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--mm-ink) !important;
    text-decoration: none;
    min-width: max-content;
}

.mm-brand-mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--mm-teal), var(--mm-teal-dark));
    box-shadow: 0 7px 17px rgba(8, 127, 114, .25);
}

.mm-brand-mark i {
    font-size: 16px;
}

.mm-brand-name {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.05em;
}

.mm-brand-note {
    display: block;
    margin-top: 1px;
    color: var(--mm-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.mm-nav-links,
.mm-nav-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.mm-nav-links {
    margin-left: auto;
}

.mm-nav-link,
.mm-nav-login {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 11px;
    color: var(--mm-ink-soft) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.mm-nav-link:hover,
.mm-nav-login:hover {
    color: var(--mm-teal-dark) !important;
    background: var(--mm-surface-strong);
}

.mm-nav-link--outline {
    border: 1px solid var(--mm-line);
}

.mm-nav-link--outline:hover {
    border-color: #b8dad1;
}

.mm-lang-switch {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    gap: 2px;
    border: 1px solid var(--mm-line);
    border-radius: 11px;
    background: #f8fbfa;
}

.mm-lang-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 29px;
    border-radius: 8px;
    color: var(--mm-muted) !important;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.mm-lang-switch a.is-active {
    color: #fff !important;
    background: var(--mm-teal);
    box-shadow: 0 4px 10px rgba(8, 127, 114, .2);
}

.mm-nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    color: #fff !important;
    background: var(--mm-ink);
    box-shadow: 0 8px 16px rgba(23, 48, 54, .14);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.mm-nav-cta:hover {
    background: var(--mm-teal);
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(8, 127, 114, .22);
}

.mm-profile-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px 4px 4px;
    border: 1px solid var(--mm-line);
    border-radius: 13px;
    color: var(--mm-ink) !important;
    background: #fff;
}

.mm-profile-trigger .mm-avatar {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 10px;
    color: #fff;
    background: var(--mm-teal);
    font-size: 12px;
    font-weight: 800;
}

/* Homepage hero --------------------------------------------------------- */
.mm-home {
    overflow: hidden;
}

.mm-hero {
    position: relative;
    padding: 148px 0 76px;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 16%, rgba(228, 168, 69, .14), transparent 27%),
        radial-gradient(circle at 12% 12%, rgba(8, 127, 114, .16), transparent 30%),
        linear-gradient(180deg, #f1f8f5 0%, #f7faf8 100%);
    border-bottom: 1px solid #e6efeb;
}

.mm-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8, 127, 114, .26), transparent);
}

.mm-hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(380px, .97fr);
    align-items: center;
    gap: clamp(36px, 7vw, 100px);
}

.mm-hero-copy {
    position: relative;
    z-index: 2;
}

.mm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 21px;
    color: var(--mm-teal-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mm-eyebrow-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--mm-coral);
    box-shadow: 0 0 0 6px rgba(229, 123, 82, .12);
}

.mm-hero-title {
    max-width: 650px;
    margin: 0;
    color: var(--mm-ink);
    font-size: clamp(42px, 5.3vw, 76px);
    font-weight: 850;
    line-height: .99;
    letter-spacing: -.07em;
}

.mm-hero-title em {
    color: var(--mm-teal);
    font-style: normal;
}

.mm-hero-description {
    max-width: 560px;
    margin: 23px 0 28px;
    color: var(--mm-ink-soft);
    font-size: 17px;
    line-height: 1.7;
}

.mm-search-panel {
    max-width: 700px;
}

.mm-search-form {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 66px;
    padding: 7px 8px 7px 20px;
    gap: 9px;
    border: 1px solid #cbded8;
    border-radius: 18px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 16px 35px rgba(21, 76, 69, .09);
    transition: border .2s ease, box-shadow .2s ease, transform .2s ease;
}

.mm-search-form:focus-within {
    border-color: #74baa9;
    box-shadow: 0 18px 42px rgba(8, 127, 114, .15), 0 0 0 4px rgba(8, 127, 114, .08);
    transform: translateY(-1px);
}

.mm-search-icon {
    flex: 0 0 auto;
    color: var(--mm-teal);
    font-size: 19px;
}

.mm-search-input {
    min-width: 0;
    flex: 1;
    height: 48px;
    padding: 0 6px;
    border: 0 !important;
    outline: 0 !important;
    color: var(--mm-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 15px;
    font-weight: 600;
}

.mm-search-input::placeholder {
    color: #829394;
}

.mm-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 116px;
    height: 50px;
    padding: 0 17px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    background: var(--mm-teal);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.mm-search-submit:hover {
    background: var(--mm-teal-dark);
    transform: translateY(-1px);
}

.mm-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--mm-muted) !important;
}

.mm-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 13px;
}

.mm-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid #d7e5e0 !important;
    border-radius: 11px;
    color: var(--mm-ink-soft) !important;
    background: rgba(255, 255, 255, .68) !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: color .2s ease, border .2s ease, background .2s ease, transform .2s ease;
}

.mm-filter-button:hover,
.mm-filter-button.is-active {
    border-color: rgba(8, 127, 114, .35) !important;
    color: var(--mm-teal-dark) !important;
    background: var(--mm-teal-soft) !important;
    transform: translateY(-1px);
}

.mm-filter-button i {
    color: var(--mm-teal);
}

#neighborhood-dropdown {
    padding: 6px;
    border: 1px solid var(--mm-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--mm-shadow-md);
}

.mm-area-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 39px;
    padding: 0 11px;
    border-radius: 9px;
    color: var(--mm-ink-soft) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.mm-area-option:hover,
.mm-area-option.is-active {
    color: var(--mm-teal-dark) !important;
    background: var(--mm-teal-soft);
}

.mm-area-option i {
    width: 16px;
    color: var(--mm-teal);
    text-align: center;
}

.mm-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 34px;
}

.mm-proof-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--mm-muted);
    font-size: 11px;
    font-weight: 700;
}

.mm-proof-icon {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfe5dc;
    border-radius: 10px;
    color: var(--mm-teal);
    background: rgba(255,255,255,.72);
}

.mm-proof-item strong {
    display: block;
    color: var(--mm-ink);
    font-size: 15px;
    line-height: 1.2;
}

.mm-hero-art {
    position: relative;
    min-height: 480px;
}

.mm-art-orbit {
    position: absolute;
    inset: 6% 2% 4% 12%;
    border: 1px solid rgba(8, 127, 114, .16);
    border-radius: 38% 62% 53% 47% / 47% 40% 60% 53%;
    transform: rotate(-8deg);
}

.mm-art-orbit::before,
.mm-art-orbit::after {
    content: "";
    position: absolute;
    border-radius: 999px;
}

.mm-art-orbit::before {
    width: 12px;
    height: 12px;
    top: 13%;
    right: 9%;
    background: var(--mm-coral);
    box-shadow: 0 0 0 8px rgba(229, 123, 82, .12);
}

.mm-art-orbit::after {
    width: 8px;
    height: 8px;
    bottom: 18%;
    left: 2%;
    background: var(--mm-amber);
}

.mm-art-frame {
    position: absolute;
    overflow: hidden;
    border: 9px solid rgba(255,255,255,.82);
    background: #dbe8e3;
    box-shadow: var(--mm-shadow-lg);
}

.mm-art-frame--main {
    inset: 8% 12% 10% 7%;
    border-radius: 32px 32px 110px 32px;
    transform: rotate(3deg);
}

.mm-art-frame--main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-art-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(8, 127, 114, .35);
    background: linear-gradient(135deg, #d5eae3, #f1e6d6);
    font-size: 58px;
}

.mm-art-card {
    position: absolute;
    z-index: 2;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 18px;
    background: rgba(255,255,255,.93);
    box-shadow: var(--mm-shadow-md);
    backdrop-filter: blur(16px);
}

.mm-art-card--rating {
    top: 10%;
    right: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
}

.mm-rating-icon {
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #9a6a18;
    background: #fff3d5;
}

.mm-art-card--rating strong {
    display: block;
    color: var(--mm-ink);
    font-size: 14px;
}

.mm-art-card--rating span {
    color: var(--mm-muted);
    font-size: 10px;
    font-weight: 700;
}

.mm-art-card--menu {
    right: 3%;
    bottom: 8%;
    width: min(270px, 68%);
    padding: 15px;
    transform: rotate(-4deg);
}

.mm-art-card--menu a {
    color: inherit;
    text-decoration: none;
}

.mm-art-menu-kicker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    color: var(--mm-muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.mm-art-menu-kicker i {
    color: var(--mm-coral);
}

.mm-art-menu-name {
    color: var(--mm-ink);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
}

.mm-art-menu-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
    color: var(--mm-muted);
    font-size: 11px;
    font-weight: 700;
}

.mm-art-menu-meta strong {
    color: var(--mm-teal);
    font-size: 15px;
}

.mm-art-card--picks {
    right: 1%;
    bottom: 4%;
    width: min(342px, 76%);
    padding: 14px;
    border-radius: 23px;
    transform: rotate(-4deg);
}

.mm-art-picks-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.mm-art-picks-header > div {
    min-width: 0;
}

.mm-art-picks-kicker {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--mm-teal);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-art-picks-kicker i {
    color: var(--mm-coral);
    font-size: 10px;
}

.mm-art-picks-header strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--mm-ink);
    font-size: 12px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-art-picks-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 10px;
    color: #fff;
    background: var(--mm-teal);
    box-shadow: 0 7px 15px rgba(8, 127, 114, .2);
    font-size: 11px;
    font-weight: 850;
}

.mm-art-picks-list {
    display: grid;
    gap: 6px;
}

.mm-art-pick-row {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr) auto 12px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid rgba(220, 233, 229, .9);
    border-radius: 12px;
    color: inherit;
    background: rgba(248, 251, 250, .9);
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.mm-art-pick-row:hover {
    border-color: #a9d3c6;
    background: var(--mm-teal-soft);
    transform: translateX(2px);
}

.mm-art-pick-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    color: var(--mm-teal-dark);
    background: #e0f1eb;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .05em;
}

.mm-art-pick-copy {
    min-width: 0;
}

.mm-art-pick-copy strong,
.mm-art-pick-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-art-pick-copy strong {
    color: var(--mm-ink);
    font-size: 11px;
    font-weight: 850;
}

.mm-art-pick-copy small {
    margin-top: 2px;
    color: var(--mm-muted);
    font-size: 9px;
    font-weight: 650;
}

.mm-art-pick-price {
    color: var(--mm-teal);
    font-size: 11px;
    font-weight: 850;
}

.mm-art-pick-arrow {
    color: var(--mm-coral);
    font-size: 9px;
}

/* Directory content ----------------------------------------------------- */
.mm-home-main {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 92px;
}

.mm-ad-wrap {
    width: min(100% - 32px, 1120px);
    min-height: 118px;
    margin: 0 auto 28px;
    padding: 14px 16px 12px;
    border: 1px solid rgba(13, 148, 136, .12);
    border-radius: 20px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 8px 24px rgba(20, 58, 55, .05);
}

.mm-ad-label {
    display: block;
    margin-bottom: 8px;
    color: #91a7a1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.mm-ad-wrap .adsbygoogle {
    min-height: 90px;
}

.mm-filter-summary {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 28px !important;
    padding: 13px 16px !important;
    border: 1px solid var(--mm-line) !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.76) !important;
    box-shadow: var(--mm-shadow-sm) !important;
}

.mm-filter-summary > div {
    gap: 7px !important;
}

.mm-filter-summary span {
    border-radius: 9px !important;
    font-size: 11px !important;
}

.mm-section {
    margin-bottom: 48px !important;
}

.mm-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 19px !important;
    padding: 0 !important;
}

.mm-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mm-section-icon {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6e8e0 !important;
    border-radius: 13px !important;
    color: var(--mm-teal) !important;
    background: var(--mm-teal-soft) !important;
    box-shadow: none !important;
}

.mm-section-icon i {
    animation: none !important;
}

.mm-section-title {
    margin: 0 !important;
    color: var(--mm-ink) !important;
    font-size: 22px !important;
    font-weight: 850 !important;
    letter-spacing: -.045em !important;
}

.mm-section-subtitle {
    margin-top: 3px !important;
    color: var(--mm-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.mm-section-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mm-teal) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none;
}

.mm-section-link:hover {
    color: var(--mm-teal-dark) !important;
}

.mm-scroll-row {
    gap: 15px !important;
    padding: 2px 2px 20px !important;
}

.mm-food-card,
.mm-top-card {
    width: 255px !important;
    color: inherit;
    text-decoration: none;
}

.mm-card-surface {
    overflow: hidden;
    border: 1px solid var(--mm-line) !important;
    border-radius: 19px !important;
    background: var(--mm-card) !important;
    box-shadow: var(--mm-shadow-sm) !important;
    transition: transform .25s ease, box-shadow .25s ease, border .25s ease !important;
}

.mm-food-card:hover .mm-card-surface,
.mm-top-card:hover .mm-card-surface,
.mm-restaurant-card:hover {
    border-color: #c1ded5 !important;
    box-shadow: var(--mm-shadow-md) !important;
    transform: translateY(-4px);
}

.mm-food-card__media,
.mm-top-card__media {
    position: relative;
    height: 165px !important;
    overflow: hidden;
    background: #e6f0eb !important;
}

.mm-food-card__media img,
.mm-top-card__media img {
    transition: transform .45s ease !important;
}

.mm-food-card:hover img,
.mm-top-card:hover img {
    transform: scale(1.05);
}

.mm-price-chip {
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 8px !important;
    background: rgba(23, 48, 54, .82) !important;
    font-size: 12px !important;
}

.mm-card-body {
    padding: 15px !important;
}

.mm-card-title {
    margin-bottom: 0 !important;
    color: var(--mm-ink) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.mm-card-meta {
    border-color: #edf2f0 !important;
    color: var(--mm-muted) !important;
    font-size: 11px !important;
}

.mm-top-card__media {
    height: 178px !important;
}

.mm-top-card__body {
    padding: 15px !important;
}

.mm-top-card__body h3 {
    color: var(--mm-ink) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.mm-top-card__body p {
    border-color: #edf2f0 !important;
    color: var(--mm-muted) !important;
    font-size: 11px !important;
}

.mm-slider-arrow {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid var(--mm-line) !important;
    color: var(--mm-ink-soft) !important;
    background: #fff !important;
    box-shadow: var(--mm-shadow-sm) !important;
}

.mm-restaurant-grid {
    gap: 18px !important;
}

.mm-food-grid {
    gap: 18px !important;
}

.mm-restaurant-card {
    border: 1px solid var(--mm-line) !important;
    border-radius: 21px !important;
    background: var(--mm-card) !important;
    box-shadow: var(--mm-shadow-sm) !important;
}

.mm-restaurant-card__media {
    height: 218px !important;
}

.mm-restaurant-card__body {
    padding: 17px !important;
}

.mm-restaurant-card__body h3 {
    color: var(--mm-ink) !important;
    font-size: 16px !important;
    font-weight: 820 !important;
}

.mm-restaurant-card__body .border-t {
    border-color: #edf2f0 !important;
}

.mm-card-actions {
    padding-top: 13px !important;
}

.mm-card-actions a,
.mm-card-actions button {
    color: var(--mm-muted) !important;
}

.mm-card-actions a:hover,
.mm-card-actions button:hover {
    color: var(--mm-teal) !important;
}

.mm-card-actions a > div,
.mm-card-actions button > div {
    border-color: var(--mm-line) !important;
    background: #f8fbfa !important;
    box-shadow: none !important;
}

.mm-card-actions a:hover > div,
.mm-card-actions button:hover > div {
    border-color: var(--mm-teal) !important;
    color: #fff !important;
    background: var(--mm-teal) !important;
}

.mm-no-results {
    border: 1px solid var(--mm-line) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: var(--mm-shadow-sm) !important;
}

/* Restaurant detail ----------------------------------------------------- */
.mm-show-page {
    padding-top: 104px !important;
    background: var(--mm-surface) !important;
}

.mm-show-gallery {
    width: min(1180px, calc(100% - 40px)) !important;
    height: min(56vw, 500px) !important;
    min-height: 300px;
    margin: 22px auto 0 !important;
    border-radius: 28px !important;
    box-shadow: var(--mm-shadow-md);
}

.mm-show-gallery .absolute.top-4 a,
.mm-show-gallery .absolute.top-4 button {
    border: 1px solid rgba(255,255,255,.55);
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.mm-show-info {
    width: min(1180px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    padding: 27px 0 20px !important;
}

.mm-show-info h1 {
    color: var(--mm-ink) !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    letter-spacing: -.055em !important;
}

.mm-show-info .mm-show-actions a {
    border-radius: 13px !important;
    box-shadow: none !important;
}

.mm-show-menu {
    width: 100%;
    margin-top: 18px;
    background: #fff;
    border-top: 1px solid var(--mm-line);
}

.mm-menu-nav {
    top: 0 !important;
    border-bottom: 1px solid var(--mm-line) !important;
}

.mm-menu-nav > div {
    background: rgba(255,255,255,.94) !important;
}

.mm-menu-nav .nav-item {
    border-color: var(--mm-line) !important;
    color: var(--mm-muted) !important;
    background: #fff !important;
}

.mm-menu-nav .nav-item.bg-black,
.mm-menu-nav .nav-item.is-active {
    border-color: var(--mm-teal) !important;
    color: #fff !important;
    background: var(--mm-teal) !important;
}

.mm-menu-main {
    width: min(1180px, calc(100% - 40px)) !important;
    padding: 42px 0 100px !important;
}

.mm-menu-section {
    scroll-margin-top: 92px;
}

.mm-menu-section > div:first-child {
    margin-bottom: 17px !important;
}

.mm-menu-section > div:first-child > div {
    width: 5px !important;
    height: 28px !important;
    border-radius: 999px;
    background: var(--mm-teal) !important;
}

.mm-menu-section h2 {
    color: var(--mm-ink) !important;
    font-size: 25px !important;
    letter-spacing: -.045em;
}

.mm-menu-item-card {
    border: 1px solid var(--mm-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--mm-shadow-sm) !important;
}

.mm-menu-item-card:hover {
    border-color: #bfded5 !important;
    box-shadow: var(--mm-shadow-md) !important;
    transform: translateY(-3px);
}

.mm-menu-item-card h3 {
    color: var(--mm-ink) !important;
}

.mm-menu-item-card p {
    color: var(--mm-muted) !important;
}

/* Footer ---------------------------------------------------------------- */
.mm-site-footer {
    color: #dbe8e4 !important;
    background: var(--mm-ink) !important;
    border-top: 0 !important;
}

.mm-site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 80% 5%, rgba(8,127,114,.28), transparent 28%), radial-gradient(circle at 15% 90%, rgba(229,123,82,.12), transparent 30%);
}

.mm-site-footer .mm-footer-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 66px 0 38px;
}

.mm-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.mm-footer-brand .mm-brand-mark {
    box-shadow: none;
}

.mm-footer-heading {
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
}

.mm-site-footer a {
    color: #bfd1cc !important;
    text-decoration: none;
}

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

.mm-footer-muted {
    color: #9eb2ad;
    font-size: 13px;
    line-height: 1.7;
}

.mm-footer-bottom {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255,255,255,.1);
    color: #8da49e;
    font-size: 11px;
}

/* Conversion pages ------------------------------------------------------ */
.mm-conversion-shell {
    min-height: 100vh;
    color: var(--mm-ink);
    background: var(--mm-surface);
}

body.mm-conversion-shell {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -.01em;
}

body.mm-conversion-shell[dir="rtl"] {
    font-family: Vazirmatn, Inter, ui-sans-serif, system-ui, sans-serif;
    letter-spacing: 0;
}

.mm-conversion-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 22px 0;
}

.mm-conversion-nav .mm-brand-name {
    color: var(--mm-ink);
}

.mm-conversion-nav-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mm-conversion-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 11px;
    color: var(--mm-ink-soft) !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.mm-conversion-link:hover {
    color: var(--mm-teal-dark) !important;
    background: var(--mm-teal-soft);
}

.mm-conversion-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 72px 0 100px;
}

.mm-contact-page {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, .8fr);
    align-items: center;
    gap: clamp(42px, 8vw, 110px);
}

.mm-conversion-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mm-teal-dark);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mm-conversion-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--mm-coral);
    box-shadow: 0 0 0 5px rgba(229,123,82,.12);
}

.mm-conversion-title {
    max-width: 650px;
    margin: 17px 0 17px;
    color: var(--mm-ink);
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.07em;
}

.mm-conversion-title span {
    color: var(--mm-teal);
}

.mm-conversion-lede {
    max-width: 560px;
    color: var(--mm-ink-soft);
    font-size: 16px;
    line-height: 1.75;
}

.mm-contact-points {
    display: grid;
    gap: 18px;
    margin-top: 34px;
}

.mm-contact-point {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.mm-contact-point-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid #d4e8e0;
    border-radius: 13px;
    color: var(--mm-teal);
    background: var(--mm-teal-soft);
}

.mm-contact-point h3 {
    margin: 0 0 3px;
    color: var(--mm-ink);
    font-size: 14px;
    font-weight: 850;
}

.mm-contact-point p,
.mm-contact-point a {
    margin: 0;
    color: var(--mm-muted) !important;
    font-size: 12px;
    line-height: 1.55;
    text-decoration: none;
}

.mm-contact-point a:hover {
    color: var(--mm-teal) !important;
}

.mm-conversion-card {
    padding: 30px !important;
}

.mm-form-heading {
    margin: 0 0 21px;
    color: var(--mm-ink);
    font-size: 23px;
    font-weight: 850;
    letter-spacing: -.04em;
}

.mm-form-stack {
    display: grid;
    gap: 16px;
}

.mm-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mm-form-field {
    display: grid;
    gap: 7px;
}

.mm-form-label {
    color: var(--mm-ink-soft);
    font-size: 11px;
    font-weight: 850;
}

.mm-form-input {
    min-height: 48px;
    padding: 0 13px !important;
    outline: 0 !important;
    font-family: inherit;
    font-size: 13px;
}

textarea.mm-form-input {
    min-height: 120px;
    padding-top: 13px !important;
    resize: vertical;
}

.mm-form-input::placeholder {
    color: #9aa9a7;
}

.mm-form-help {
    margin: 4px 0 0;
    color: var(--mm-muted);
    font-size: 11px;
    line-height: 1.55;
    text-align: center;
}

.mm-form-error {
    color: #b64747;
    font-size: 11px;
}

.mm-conversion-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 17px;
    padding: 12px 13px;
    border: 1px solid #bde2d0;
    border-radius: 12px;
    color: #27724f;
    background: #ecf8f1;
    font-size: 12px;
    line-height: 1.55;
}

.mm-partner-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .75fr);
    align-items: stretch;
    gap: 26px;
}

.mm-partner-story {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 5vw, 70px);
    border-radius: 28px;
    color: #fff;
    background: linear-gradient(145deg, #0d6f64, #173036 76%);
    box-shadow: var(--mm-shadow-md);
}

.mm-partner-story::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    right: -100px;
    bottom: -135px;
    border-radius: 50%;
    background: rgba(229,123,82,.18);
    filter: blur(5px);
}

.mm-partner-story > * {
    position: relative;
    z-index: 1;
}

.mm-partner-story .mm-conversion-kicker {
    color: #d4f2e9;
}

.mm-partner-story .mm-conversion-title {
    color: #fff;
}

.mm-partner-story .mm-conversion-title span {
    color: #a9ead6;
}

.mm-partner-story .mm-conversion-lede {
    color: rgba(255,255,255,.72);
}

.mm-benefit-list {
    display: grid;
    gap: 13px;
    margin-top: 30px;
}

.mm-benefit-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.9);
    font-size: 13px;
    font-weight: 700;
}

.mm-benefit-item i {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #a9ead6;
    background: rgba(169,234,214,.13);
}

.mm-partner-footnote {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 40px;
    color: rgba(255,255,255,.6);
    font-size: 11px;
    font-weight: 700;
}

.mm-partner-footnote i {
    color: #a9ead6;
}

.mm-conversion-card {
    border: 1px solid var(--mm-line) !important;
    border-radius: 25px !important;
    background: rgba(255,255,255,.9) !important;
    box-shadow: var(--mm-shadow-md) !important;
}

.mm-form-input {
    border: 1px solid var(--mm-line) !important;
    border-radius: 12px !important;
    background: #f8fbfa !important;
    color: var(--mm-ink) !important;
}

.mm-form-input:focus {
    border-color: #72b9a9 !important;
    box-shadow: 0 0 0 4px rgba(8,127,114,.1) !important;
    background: #fff !important;
}

.mm-primary-button {
    border: 0 !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: var(--mm-teal) !important;
    box-shadow: 0 10px 22px rgba(8,127,114,.2) !important;
}

.mm-primary-button:hover {
    background: var(--mm-teal-dark) !important;
}

@media (max-width: 900px) {
    .mm-nav-links {
        display: none;
    }

    .mm-hero-inner {
        grid-template-columns: 1fr;
    }

    .mm-hero-copy {
        max-width: 720px;
        margin-inline: auto;
        text-align: center;
    }

    .mm-hero-description {
        margin-inline: auto;
    }

    .mm-filter-row,
    .mm-hero-proof {
        justify-content: center;
    }

    .mm-hero-art {
        width: min(100%, 560px);
        min-height: 420px;
        margin: 0 auto;
    }

    .mm-contact-page,
    .mm-partner-page {
        grid-template-columns: 1fr;
    }

    .mm-contact-page {
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .mm-container,
    .mm-home-main,
    .mm-site-nav .mm-nav-pill,
    .mm-show-gallery,
    .mm-show-info,
    .mm-menu-main,
    .mm-site-footer .mm-footer-inner,
    .mm-conversion-nav {
        width: calc(100% - 28px) !important;
    }

    .mm-site-nav {
        padding-top: 10px;
    }

    .mm-site-nav .mm-nav-pill {
        height: 62px !important;
        border-radius: 18px !important;
    }

    .mm-nav-inner {
        padding: 0 8px 0 12px;
        gap: 8px;
    }

    .mm-brand-note,
    .mm-nav-login {
        display: none;
    }

    .mm-brand-name {
        font-size: 18px;
    }

    .mm-brand-mark {
        width: 37px;
        height: 37px;
        border-radius: 12px;
    }

    .mm-nav-actions {
        gap: 5px;
    }

    .mm-nav-cta {
        min-height: 37px;
        padding: 0 11px;
        border-radius: 10px;
        font-size: 11px;
    }

    .mm-lang-switch a {
        width: 28px;
        height: 26px;
    }

    .mm-hero {
        padding: 111px 0 42px;
    }

    .mm-hero-title {
        font-size: clamp(40px, 12vw, 58px);
    }

    .mm-hero-description {
        margin: 18px 0 21px;
        font-size: 14px;
    }

    .mm-search-form {
        min-height: 58px;
        padding: 5px 6px 5px 14px;
        border-radius: 15px;
    }

    .mm-search-input {
        font-size: 13px;
    }

    .mm-search-submit {
        min-width: 45px;
        width: 45px;
        height: 46px;
        padding: 0;
    }

    .mm-search-submit span {
        display: none;
    }

    .mm-filter-button {
        min-height: 35px;
        padding: 0 10px;
        font-size: 11px;
    }

    .mm-hero-proof {
        gap: 13px;
        margin-top: 25px;
    }

    .mm-proof-item {
        gap: 6px;
        font-size: 10px;
    }

    .mm-proof-item strong {
        font-size: 13px;
    }

    .mm-hero-art {
        min-height: 330px;
    }

    .mm-art-frame {
        border-width: 6px;
    }

    .mm-art-frame--main {
        inset: 7% 8% 8% 5%;
        border-radius: 24px 24px 78px 24px;
    }

    .mm-art-card--rating {
        top: 3%;
        right: 1%;
        padding: 8px 10px;
    }

    .mm-art-card--menu {
        right: 0;
        bottom: 3%;
        width: 72%;
        padding: 11px;
    }

    .mm-art-menu-name {
        font-size: 13px;
    }

    .mm-home-main {
        padding-bottom: 64px;
    }

    .mm-section-head {
        align-items: center;
        margin-bottom: 15px !important;
    }

    .mm-section-title {
        font-size: 19px !important;
    }

    .mm-section-subtitle {
        font-size: 10px !important;
    }

    .mm-section-icon {
        width: 36px !important;
        height: 36px !important;
        border-radius: 11px !important;
    }

    .mm-section-link {
        font-size: 10px !important;
    }

    .mm-food-card,
    .mm-top-card {
        width: 226px !important;
    }

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

    .mm-restaurant-card__media {
        height: 210px !important;
    }

    .mm-show-page {
        padding-top: 76px !important;
    }

    .mm-show-gallery {
        min-height: 260px;
        height: 68vw !important;
        margin-top: 10px !important;
        border-radius: 19px !important;
    }

    .mm-menu-main {
        padding-top: 27px !important;
    }

    .mm-site-footer .mm-footer-inner {
        padding-top: 45px;
    }

    .mm-conversion-nav {
        padding: 14px 0;
    }

    .mm-conversion-nav-links .mm-conversion-link:first-child {
        display: none;
    }

    .mm-conversion-page {
        width: calc(100% - 28px);
        padding: 38px 0 64px;
    }

    .mm-conversion-card {
        padding: 22px !important;
        border-radius: 20px !important;
    }

    .mm-conversion-title {
        font-size: 43px;
    }

    .mm-contact-page {
        gap: 32px;
    }

    .mm-form-grid {
        grid-template-columns: 1fr;
    }

    .mm-partner-story {
        padding: 28px 22px;
        border-radius: 21px;
    }
}

/* Discovery rail polish ------------------------------------------------ */
.mm-rail-section {
    position: relative;
}

.mm-rail-section--food {
    position: relative;
    overflow: hidden;
    padding: 27px 27px 20px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 8%, rgba(224, 178, 85, .26), transparent 25%),
        radial-gradient(circle at 4% 100%, rgba(13, 181, 156, .26), transparent 30%),
        linear-gradient(135deg, #123f3c 0%, #086f64 58%, #0a9783 100%);
    box-shadow: 0 24px 62px rgba(8, 91, 79, .2);
}

.mm-rail-section--food::before,
.mm-rail-section--food::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    pointer-events: none;
}

.mm-rail-section--food::before {
    width: 270px;
    height: 270px;
    right: -105px;
    top: -170px;
}

.mm-rail-section--food::after {
    width: 190px;
    height: 190px;
    left: -115px;
    bottom: -135px;
}

.mm-rail-section--food > * {
    position: relative;
    z-index: 1;
}

.mm-rail-section--food .mm-section-title,
.mm-rail-section--food .mm-section-subtitle,
.mm-rail-section--food .mm-section-link,
.mm-rail-section--food .mm-rail-hint {
    color: #fff !important;
}

.mm-rail-section--food .mm-section-subtitle {
    color: rgba(255, 255, 255, .68) !important;
}

.mm-rail-section--food .mm-section-icon {
    border-color: rgba(255, 255, 255, .18) !important;
    color: #ffd98b !important;
    background: rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(12px);
}

.mm-rail-section--food .mm-section-link {
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 11px;
    background: rgba(255, 255, 255, .1);
}

.mm-rail-section--food .mm-section-link:hover {
    color: var(--mm-ink) !important;
    background: #fff;
}

.mm-section-subtitle {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.mm-rail-count {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 7px;
    border: 1px solid #dbe9e4;
    border-radius: 999px;
    color: var(--mm-teal-dark);
    background: #f3faf7;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.mm-rail-section--food .mm-rail-count {
    border-color: rgba(255, 255, 255, .2);
    color: #fff;
    background: rgba(255, 255, 255, .12);
}

.mm-rail-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
}

.mm-rail-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mm-muted);
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

.mm-rail-hint i {
    color: var(--mm-coral);
    font-size: 11px;
}

.mm-scroll-row--cards {
    gap: 18px !important;
    padding: 5px 3px 22px !important;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 10px;
    scrollbar-width: none;
}

.mm-scroll-row--cards::-webkit-scrollbar {
    display: none;
}

.mm-food-card,
.mm-top-card {
    width: 292px !important;
    flex-basis: 292px;
    color: inherit;
    text-decoration: none;
}

.mm-food-card__surface,
.mm-restaurant-rail-card {
    min-height: 100%;
    border: 1px solid rgba(218, 232, 226, .92) !important;
    border-radius: 26px !important;
    box-shadow: 0 17px 35px rgba(13, 54, 50, .11) !important;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease !important;
}

.mm-food-card:hover .mm-food-card__surface,
.mm-top-card:hover .mm-restaurant-rail-card {
    border-color: rgba(8, 127, 114, .35) !important;
    box-shadow: 0 24px 48px rgba(9, 67, 60, .18) !important;
    transform: translateY(-8px) rotate(-.25deg) !important;
}

.mm-food-card__media,
.mm-top-card__media {
    height: 196px !important;
    isolation: isolate;
}

.mm-top-card__media {
    height: 202px !important;
}

.mm-food-card__media img,
.mm-top-card__media img {
    position: relative;
    z-index: 0;
    transition: transform .65s cubic-bezier(.2, .8, .2, 1), filter .35s ease !important;
}

.mm-food-card:hover .mm-food-card__media img,
.mm-top-card:hover .mm-top-card__media img {
    filter: saturate(1.08) contrast(1.03);
    transform: scale(1.08) !important;
}

.mm-card-media-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(8, 30, 31, .04) 25%, rgba(8, 30, 31, .72) 100%);
}

.mm-card-index {
    position: absolute;
    z-index: 3;
    top: 13px;
    inset-inline-start: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 31px;
    height: 24px;
    padding: 0 7px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 9px;
    color: #fff;
    background: rgba(12, 44, 43, .58);
    box-shadow: 0 6px 15px rgba(0, 0, 0, .12);
    backdrop-filter: blur(10px);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
}

.mm-card-media-label {
    position: absolute;
    z-index: 3;
    top: 13px;
    inset-inline-end: 13px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 999px;
    color: #fff;
    background: rgba(12, 44, 43, .58);
    box-shadow: 0 6px 15px rgba(0, 0, 0, .12);
    backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .02em;
    white-space: nowrap;
}

.mm-card-media-label i {
    color: #ffd78d;
    font-size: 9px;
}

.mm-food-card .mm-price-chip {
    z-index: 3;
    bottom: 13px !important;
    inset-inline-start: 13px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 10px !important;
    background: rgba(12, 44, 43, .8) !important;
    box-shadow: 0 7px 16px rgba(0, 0, 0, .15);
    font-size: 13px !important;
}

.mm-card-body {
    min-height: 145px;
    padding: 17px 18px 16px !important;
}

.mm-food-card__eyebrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 9px;
    color: var(--mm-teal);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-food-card__eyebrow i {
    color: var(--mm-coral);
    font-size: 11px;
    transition: transform .25s ease;
}

.mm-food-card:hover .mm-food-card__eyebrow i {
    transform: translate(2px, -2px);
}

.mm-card-title {
    min-height: 38px;
    color: var(--mm-ink) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

.mm-card-meta {
    min-width: 0;
    margin-top: 17px !important;
    padding-top: 12px !important;
    border-top: 1px solid #edf3f0 !important;
    color: var(--mm-muted) !important;
    font-size: 11px !important;
    font-weight: 700;
}

.mm-card-meta__logo {
    width: 25px !important;
    height: 25px !important;
    border-color: #d8e7e1 !important;
    box-shadow: 0 3px 9px rgba(14, 76, 67, .1);
}

.mm-card-arrow {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--mm-teal);
    font-size: 10px;
    transition: transform .25s ease;
}

.mm-food-card:hover .mm-card-arrow,
.mm-top-card:hover .mm-card-arrow {
    transform: translateX(3px);
}

.mm-top-card__body {
    min-height: 150px;
    padding: 17px 18px 16px !important;
}

.mm-top-card__body h3 {
    color: var(--mm-ink) !important;
    font-size: 17px !important;
    font-weight: 850 !important;
}

.mm-rating-row {
    width: max-content;
    max-width: 100%;
    min-height: 27px;
    margin-top: 6px;
    margin-bottom: 14px !important;
    padding: 0 9px;
    border: 1px solid #f1e3bd;
    border-radius: 999px;
    color: #8a6a24;
    background: #fff8e8;
}

.mm-rating-row > div {
    color: #d08e21 !important;
    font-size: 10px;
}

.mm-rating-row > span {
    color: #8a6a24 !important;
    font-size: 10px;
    font-weight: 800;
}

.mm-rating-row > span:last-child {
    color: #9d9072 !important;
    font-weight: 650;
}

.mm-card-location {
    min-width: 0;
    margin-top: auto;
    padding-top: 12px !important;
    border-top: 1px solid #edf3f0 !important;
    color: var(--mm-muted) !important;
    font-size: 11px !important;
    font-weight: 650;
}

.mm-card-location .mm-card-arrow {
    color: var(--mm-teal);
}

.mm-slider-arrow {
    width: 38px !important;
    height: 38px !important;
    border-color: #d6e6e0 !important;
    color: var(--mm-teal) !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(16, 69, 62, .08) !important;
}

.mm-slider-arrow:hover {
    border-color: var(--mm-teal) !important;
    color: #fff !important;
    background: var(--mm-teal) !important;
    transform: translateY(-1px);
}

.mm-restaurant-card {
    border: 1px solid rgba(218, 232, 226, .92) !important;
    border-radius: 28px !important;
    box-shadow: 0 16px 35px rgba(13, 54, 50, .08) !important;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease !important;
}

.mm-restaurant-card:hover {
    border-color: rgba(8, 127, 114, .34) !important;
    box-shadow: 0 25px 52px rgba(13, 54, 50, .14) !important;
    transform: translateY(-7px);
}

.mm-restaurant-card__media {
    height: 235px !important;
}

.mm-restaurant-card__media::after {
    content: "";
    position: absolute;
    z-index: 11;
    inset: auto 0 0;
    height: 100px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(7, 34, 34, .55));
}

.mm-restaurant-card__body {
    padding: 18px !important;
}

.mm-restaurant-card__body h3 {
    color: var(--mm-ink) !important;
    font-size: 17px !important;
    font-weight: 850 !important;
}

@media (max-width: 900px) {
    .mm-rail-section--food {
        padding: 24px 22px 17px;
        border-radius: 27px;
    }

    .mm-rail-hint {
        display: none;
    }
}

@media (max-width: 640px) {
    .mm-art-card--picks {
        right: 0;
        bottom: 3%;
        width: 82%;
        padding: 10px;
        border-radius: 19px;
        transform: rotate(-2deg);
    }

    .mm-art-picks-header {
        margin-bottom: 7px;
    }

    .mm-art-picks-header strong {
        font-size: 10px;
    }

    .mm-art-picks-count {
        width: 25px;
        height: 25px;
        border-radius: 8px;
        font-size: 10px;
    }

    .mm-art-picks-list {
        gap: 4px;
    }

    .mm-art-pick-row {
        grid-template-columns: 22px minmax(0, 1fr) auto 10px;
        gap: 6px;
        padding: 6px 7px;
        border-radius: 10px;
    }

    .mm-art-pick-rank {
        width: 22px;
        height: 22px;
        border-radius: 7px;
        font-size: 8px;
    }

    .mm-art-pick-copy strong {
        font-size: 9px;
    }

    .mm-art-pick-copy small {
        font-size: 8px;
    }

    .mm-art-pick-price {
        font-size: 10px;
    }

    .mm-rail-section--food {
        margin-inline: 0;
        padding: 20px 13px 13px;
        border-radius: 24px;
    }

    .mm-rail-section .mm-section-head {
        gap: 10px;
        padding-inline: 2px !important;
    }

    .mm-rail-actions {
        gap: 7px;
    }

    .mm-rail-section--food .mm-section-link {
        padding: 7px 9px;
        font-size: 10px !important;
    }

    .mm-scroll-row--cards {
        gap: 13px !important;
        margin-inline: -2px;
        padding-inline: 2px !important;
    }

    .mm-food-card,
    .mm-top-card {
        width: 248px !important;
        flex-basis: 248px;
    }

    .mm-food-card__media {
        height: 174px !important;
    }

    .mm-top-card__media {
        height: 184px !important;
    }

    .mm-card-body,
    .mm-top-card__body {
        padding: 15px 16px 14px !important;
    }

    .mm-card-media-label {
        font-size: 8px;
    }

    .mm-card-title {
        font-size: 15px !important;
    }

    .mm-restaurant-card__media {
        height: 225px !important;
    }
}

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