@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&display=swap');

:root {
    --brand: #205c55;
    --brand-dark: #123f3a;
    --brand-soft: #e5f0ee;
    --accent: #f27c4a;
    --accent-soft: #fff0e8;
    --success: #26a66f;
    --danger: #d95b5b;
    --warning: #e5a329;
    --ink: #18201f;
    --muted: #7a8381;
    --line: #e4e8e7;
    --surface: #fff;
    --canvas: #f7f7f7;
    --radius: 10px;
    --shadow: 0 12px 32px rgba(28, 50, 47, .08);
    --sidebar: 288px;
    --font-ui: "IBM Plex Sans Arabic", Tahoma, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--canvas);
    font-family: var(--font-ui);
    font-weight: 400;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button, [role="button"] { cursor: pointer; }
[hidden] { display: none !important; }
.icon { flex: 0 0 auto; }

/* Admin shell */
.admin-sidebar {
    position: fixed;
    z-index: 50;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--sidebar);
    padding: 24px 16px 16px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-left: 1px solid var(--line);
}
.brand { padding: 0 12px 24px; }
.brand-link { display: inline-flex; align-items: center; gap: 10px; direction: ltr; }
.brand-name { font-size: 25px; line-height: 1; font-weight: 900; letter-spacing: -1px; color: #111; }
.brand-name span { color: var(--brand); }
.brand-mark { width: 15px; height: 27px; display: inline-block; background: var(--brand); border-radius: 4px 10px 4px 4px; transform: skewY(9deg); }
.side-nav { flex: 1; overflow-y: auto; padding: 0 0 18px; scrollbar-width: thin; }
.side-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    margin: 1px 0;
    padding: 7px 12px;
    border-radius: 9px;
    color: #595e5d;
    font-size: 13px;
    font-weight: 500;
    transition: .18s ease;
}
.side-link:hover { background: #f5f6f5; color: #101514; }
.side-link.active { color: #101514; background: #f1f2f1; font-weight: 700; }
.side-link.active::after { display: none; }
.side-link > span { flex: 1; }
.nav-badge, .nav-new {
    min-width: 22px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    text-align: center;
    font-size: 10px;
}
.nav-new { background: #28a45f; font-weight: 700; }
.sidebar-account {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 15px 8px 2px;
    border-top: 1px solid var(--line);
}
.sidebar-account img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 1px solid var(--line); }
.sidebar-account div { flex: 1; min-width: 0; }
.sidebar-account strong, .sidebar-account small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-account strong { font-size: 13px; color: var(--brand); }
.sidebar-account small { font-size: 11px; color: var(--muted); }
.account-arrow { color: var(--muted); font-size: 22px; }

.admin-shell { min-height: 100vh; margin-right: var(--sidebar); display: flex; flex-direction: column; }
.topbar {
    position: sticky;
    z-index: 40;
    top: 0;
    min-height: 70px;
    padding: 12px 34px;
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(247, 247, 247, .96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}
.visit-menu { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.quick-search {
    width: min(390px, 44vw);
    margin-inline: auto;
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    color: #8a9291;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    text-align: start;
}
.quick-search span { flex: 1; }
kbd { padding: 2px 7px; border: 1px solid #d9dfdd; border-radius: 6px; background: #f7f8f8; font-size: 10px; color: #737c7a; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.icon-button {
    width: 40px;
    height: 40px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
    color: #4d5654;
}
.has-dot { color: var(--brand); background: var(--brand-soft); border-color: #bfdbd6; position: relative; }
.has-dot::after { content: ""; position: absolute; top: 7px; right: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.profile-chip { padding: 9px 11px; font-size: 13px; white-space: nowrap; }
.mobile-menu { display: none; }
.page-wrap { width: min(970px, calc(100% - 64px)); margin: 0 auto; padding: 28px 0 60px; flex: 1; }
.page-wrap.page-narrow { width: min(770px, calc(100% - 64px)); }
.page-wrap.page-wide { width: min(1170px, calc(100% - 64px)); }
.page-heading { min-height: 84px; margin-bottom: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-heading h1 { margin: 6px 0 0; font-size: clamp(24px, 3vw, 30px); line-height: 1.25; letter-spacing: -.5px; }
.page-heading p { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
.breadcrumb { display: flex; gap: 7px; color: #89918f; font-size: 12px; }
.breadcrumb a { color: var(--brand); }
.page-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.admin-footer { min-height: 72px; padding: 20px 34px; display: flex; justify-content: space-between; align-items: center; color: #747b79; border-top: 0; font-size: 12px; }
.footer-language { display: inline-flex; align-items: center; gap: 8px; color: #272c2b; }
.footer-flag { width: 25px; height: 25px; display: inline-grid; place-items: center; border-radius: 6px; color: #fff; background: var(--brand); font-size: 10px; }
.admin-floating-tools { position: fixed; z-index: 55; left: 22px; bottom: 22px; display: flex; flex-direction: column; gap: 9px; }
.admin-floating-tools a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #07554d; font-size: 18px; font-weight: 800; box-shadow: 0 8px 22px #0002; }
.admin-floating-tools .whatsapp-tool { background: #25d366; }

/* Reusable controls */
.card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: none;
}
.card-pad { padding: 22px; }
.card-title { margin: 0 0 18px; font-size: 18px; }
.btn {
    min-height: 42px;
    padding: 9px 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    transition: .18s ease;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(30, 60, 56, .1); }
.btn-primary { color: #fff; background: var(--brand); }
.btn-accent { color: #fff; background: var(--accent); }
.btn-soft { color: var(--brand); background: var(--brand-soft); }
.btn-light { color: #424b49; background: #fff; border-color: var(--line); }
.btn-danger { color: #b54242; background: #fff0f0; border-color: #f3cccc; }
.btn-sm { min-height: 34px; padding: 6px 11px; font-size: 12px; border-radius: 9px; }
.btn-block { width: 100%; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 13px; font-weight: 700; }
.field small, .hint { color: var(--muted); font-size: 11px; }
.input, .select, .textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    color: var(--ink);
    background: #fbfcfb;
    border: 1px solid #dfe4e3;
    border-radius: 8px;
    outline: none;
    transition: .18s ease;
}
.textarea { min-height: 120px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent); }
.input[type="color"] { padding: 4px; min-height: 48px; }
.switch { display: inline-flex; align-items: center; gap: 10px; }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch-track { width: 42px; height: 24px; border-radius: 20px; background: #d7dcdb; padding: 3px; transition: .2s; }
.switch-track::after { content: ""; display: block; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px #0002; transition: .2s; }
.switch input:checked + .switch-track { background: var(--brand); }
.switch input:checked + .switch-track::after { transform: translateX(-18px); }
.check-row { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.check-row input { width: 17px; height: 17px; accent-color: var(--brand); }
.form-actions { margin-top: 24px; display: flex; justify-content: flex-start; gap: 10px; }
.filters {
    margin-bottom: 18px;
    padding: 14px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
}
.filters .input, .filters .select { width: auto; min-width: 180px; min-height: 40px; }
.filters .search-field { flex: 1; min-width: 220px; }
.alert { margin-bottom: 18px; padding: 13px 16px; border-radius: 12px; font-size: 13px; }
.alert-success { color: #166542; background: #e8f7ef; border: 1px solid #bfe8d1; }
.alert-danger { color: #8d3434; background: #fff0f0; border: 1px solid #f1cece; }
.alert ul { margin: 5px 0 0; padding-inline-start: 20px; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #eef1f0; color: #58615f; }
.badge-success { color: #157048; background: #e6f6ee; }
.badge-danger { color: #a34545; background: #ffeded; }
.badge-warning { color: #8f641a; background: #fff5dd; }
.badge-info { color: #335f87; background: #eaf3fb; }
.badge-brand { color: var(--brand); background: var(--brand-soft); }
.muted { color: var(--muted); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.price { font-weight: 800; }
.empty-state { padding: 60px 20px; text-align: center; color: var(--muted); }
.empty-state h3 { color: var(--ink); }
.actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }

/* Tables and lists */
.table-card { overflow: hidden; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th, .data-table td { padding: 15px 17px; text-align: right; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table th { color: #6c7573; background: #fafbfa; font-size: 11px; font-weight: 800; white-space: nowrap; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fcfdfd; }
.item-cell { display: flex; align-items: center; gap: 11px; min-width: 190px; }
.item-cell img { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; background: #f0f2f1; }
.item-cell strong, .item-cell small { display: block; }
.item-cell small { color: var(--muted); }
.pagination { margin-top: 18px; display: flex; justify-content: center; gap: 6px; }
.pagination nav > div:first-child { display: none; }
.pagination nav > div:last-child { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pagination nav span, .pagination nav a { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; padding: 5px 9px; border-radius: 8px; border: 1px solid var(--line); background: #fff; }

/* Dashboard */
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stats-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stat-card { padding: 17px 18px; min-height: 78px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
.stat-top { display: flex; align-items: center; gap: 13px; }
.stat-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--brand); border-radius: 50%; background: var(--brand-soft); }
.stat-value { font-size: 18px; font-weight: 800; line-height: 1.2; }
.stat-label { margin-top: 3px; color: var(--muted); font-size: 12px; }
.growth { align-self: end; font-size: 11px; font-weight: 800; direction: ltr; }
.period-picker { min-width: 180px; min-height: 42px; padding: 0 12px; display: flex; align-items: center; gap: 7px; border: 1px solid #d8dcdb; border-radius: 9px; background: #fff; color: var(--brand); }
.period-picker .select { min-height: 40px; padding: 6px; border: 0; background: transparent; font-weight: 800; }
.dashboard-grid { margin-top: 16px; display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; }
.chart-card { padding: 24px; min-height: 370px; }
.card-header { margin-bottom: 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.card-header h2 { margin: 0; font-size: 18px; }
.chart-legend { display: flex; gap: 16px; color: var(--muted); font-size: 11px; }
.legend-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; margin-inline-end: 4px; background: var(--brand); }
.legend-dot.orders { background: var(--accent); }
.mini-chart { height: 265px; display: flex; align-items: end; gap: 7px; padding-top: 20px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0 52px, #edf0ef 53px); }
.chart-column { height: 100%; flex: 1; display: flex; align-items: end; justify-content: center; gap: 2px; position: relative; }
.chart-bar { width: 7px; min-height: 2px; border-radius: 6px 6px 0 0; background: var(--brand); }
.chart-bar.orders { background: var(--accent); }
.chart-column small { position: absolute; bottom: -24px; color: #939b99; font-size: 9px; white-space: nowrap; transform: rotate(-35deg); }
.reference-chart-card { min-height: 350px; margin-top: 16px; }
.line-chart { height: 260px; position: relative; padding-bottom: 20px; }
.line-chart svg { width: 100%; height: 230px; overflow: visible; }
.chart-grid-line { stroke: #e9eceb; stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-area { fill: color-mix(in srgb, var(--brand) 14%, transparent); }
.chart-line { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-line.visits { stroke: var(--brand); }
.chart-line.orders { stroke: var(--accent); }
.chart-axis { display: flex; justify-content: space-between; color: #8d9492; direction: ltr; font-size: 9px; }
.dashboard-columns { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 2fr) minmax(245px, 1fr); gap: 16px; align-items: start; }
.dashboard-side-stack { display: grid; gap: 16px; }
.rank-list.compact .rank-row { min-height: 46px; }
.rank-growth { width: 24px; text-align: center; direction: ltr; font-size: 11px; font-weight: 800; }
.support-card { min-height: 110px; padding: 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; overflow: hidden; position: relative; }
.support-card::before { content: "?"; position: absolute; left: -5px; bottom: -37px; color: #eef1f0; font-size: 105px; font-weight: 900; line-height: 1; }
.support-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: var(--brand); font-weight: 900; position: relative; z-index: 1; }
.support-card div, .support-card a { position: relative; z-index: 1; }
.support-card strong, .support-card small { display: block; }
.support-card small { color: var(--muted); font-size: 10px; }
.support-card a { color: var(--brand); font-size: 11px; font-weight: 800; }
.visited-products-card { width: calc(66.666% - 5px); margin-top: 16px; margin-inline-start: 0; }
.rank-list { display: flex; flex-direction: column; }
.rank-row { min-height: 61px; padding: 9px 0; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); }
.rank-row:last-child { border-bottom: 0; }
.rank-row img { width: 44px; height: 44px; border-radius: 11px; object-fit: cover; }
.rank-info { flex: 1; min-width: 0; }
.rank-info strong, .rank-info small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rank-info strong { font-size: 13px; }
.rank-info small { color: var(--muted); font-size: 11px; }
.rank-number { min-width: 35px; text-align: left; font-weight: 800; color: var(--brand); }

/* Order tabs and detail */
.status-tabs { margin-bottom: 18px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.status-tab { flex: 0 0 auto; padding: 9px 14px; border-radius: 10px; color: #67706e; background: #fff; border: 1px solid var(--line); font-size: 12px; font-weight: 700; }
.status-tab.active { color: #fff; background: var(--brand); border-color: var(--brand); }
.reference-status-tabs { margin-top: 17px; border-bottom: 1px solid #dfe2e1; gap: 20px; }
.reference-status-tabs .status-tab { padding: 0 0 9px; color: #616866; background: transparent; border: 0; border-bottom: 1px solid transparent; border-radius: 0; font-weight: 500; }
.reference-status-tabs .status-tab b { min-width: 19px; margin-inline-start: 4px; padding: 1px 5px; display: inline-block; color: #767d7b; background: #e9ebea; border-radius: 999px; text-align: center; font-size: 9px; }
.reference-status-tabs .status-tab.active { color: var(--ink); background: transparent; border-color: var(--ink); font-weight: 800; }
.reference-status-tabs .status-tab.active b { color: #fff; background: var(--brand); }
.order-list { display: grid; gap: 10px; }
.order-card { padding: 16px 18px; display: grid; grid-template-columns: 90px 1fr 150px 125px 120px 32px; align-items: center; gap: 14px; }
.order-card.selected { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.order-number { font-weight: 800; color: var(--brand); }
.order-products { min-width: 0; }
.order-products strong, .order-products small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.order-products small { color: var(--muted); }
.order-detail-grid { display: grid; grid-template-columns: 1.7fr .8fr; gap: 18px; }
.summary-list { display: grid; gap: 10px; }
.summary-row { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 10px; border-bottom: 1px dashed var(--line); }
.summary-row.total { padding-top: 8px; font-size: 18px; font-weight: 800; border-bottom: 0; }
.timeline { display: grid; gap: 8px; }
.timeline .btn { justify-content: flex-start; }
.order-table-head { margin: 4px 0 8px; padding: 0 18px; display: grid; grid-template-columns: 90px 1fr 150px 125px 120px 32px; gap: 14px; color: #8a918f; font-size: 9px; }
.order-open-arrow { width: 26px; height: 26px; display: grid; place-items: center; color: #555d5b; background: #f1f2f1; border-radius: 50%; font-size: 20px; }
.order-preview { position: fixed; z-index: 95; inset: 0; pointer-events: none; }
.order-preview-backdrop { position: absolute; inset: 0; opacity: 0; background: #18231f7d; transition: .2s; }
.order-preview-panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(510px, 100%); padding: 24px; overflow-y: auto; background: #f8f9f8; transform: translateX(-102%); transition: .25s; box-shadow: 18px 0 55px #0002; }
.order-preview.open { pointer-events: auto; }
.order-preview.open .order-preview-backdrop { opacity: 1; }
.order-preview.open .order-preview-panel { transform: translateX(0); }
.order-preview-header { padding-bottom: 18px; display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }
.order-preview-header h2 { margin: 8px 0 0; font-size: 20px; }
.order-preview-header small { color: var(--muted); font-size: 10px; }
.order-preview-section { margin-top: 15px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.preview-section-title { margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.preview-section-title h3, .customer-preview h3 { margin: 0; font-size: 14px; }
.preview-section-title span { color: var(--brand); font-size: 10px; font-weight: 800; }
.preview-items { display: grid; }
.preview-item { min-height: 59px; padding: 9px 0; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 9px; border-bottom: 1px solid var(--line); }
.preview-quantity { width: 25px; height: 25px; display: grid; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 7px; font-size: 10px; font-weight: 800; }
.preview-item strong, .preview-item small { display: block; }
.preview-item strong { font-size: 12px; }
.preview-item small { color: var(--muted); font-size: 9px; }
.preview-item > b { font-size: 11px; }
.preview-totals { padding-top: 10px; display: grid; gap: 6px; font-size: 11px; }
.preview-totals > div { display: flex; justify-content: space-between; gap: 15px; }
.preview-totals .discount { color: var(--success); }
.preview-totals .grand-total { margin-top: 5px; padding-top: 10px; border-top: 1px dashed var(--line); font-size: 14px; }
.customer-preview dl { margin: 13px 0 0; display: grid; gap: 8px; }
.customer-preview dl > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; font-size: 11px; }
.customer-preview dt { color: var(--muted); }
.customer-preview dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.order-status-form { margin-top: 15px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.order-status-form > label { margin-bottom: 10px; display: block; font-size: 12px; font-weight: 800; }
.order-status-form > div { display: flex; flex-wrap: wrap; gap: 7px; }
.order-status-form .btn { min-height: 36px; padding: 6px 10px; font-size: 10px; }
.order-preview-footer { margin-top: 15px; display: flex; gap: 8px; }

/* Products and categories */
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.product-admin-card { overflow: hidden; }
.product-admin-image { height: 185px; width: 100%; object-fit: cover; background: #edf1ef; }
.product-admin-body { padding: 16px; }
.product-admin-body h3 { margin: 0 0 6px; font-size: 16px; }
.product-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.product-admin-actions { margin-top: 15px; padding-top: 13px; display: flex; gap: 6px; border-top: 1px solid var(--line); }
.upload-box { min-height: 140px; display: grid; place-items: center; text-align: center; border: 1px dashed #bec8c5; border-radius: 14px; background: #fafbfa; }
.form-tabs { display: flex; gap: 8px; margin-bottom: 18px; overflow-x: auto; }
.form-tab { padding: 9px 15px; color: var(--muted); border-bottom: 2px solid transparent; font-size: 13px; font-weight: 700; white-space: nowrap; }
.form-tab.active { color: var(--brand); border-color: var(--brand); }
.form-panel { display: none; }
.form-panel.active { display: block; }
.dynamic-list { display: grid; gap: 10px; }
.dynamic-row { padding: 12px; display: grid; grid-template-columns: 1.5fr .7fr 40px; gap: 9px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfb; }
.chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.choice-chip { position: relative; }
.choice-chip input { position: absolute; opacity: 0; }
.choice-chip span { display: inline-flex; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 12px; }
.choice-chip input:checked + span { color: var(--brand); background: var(--brand-soft); border-color: #b9d8d3; }
.reference-search { height: 49px; padding: 0 15px; display: flex; align-items: center; gap: 10px; border: 1px solid #dfe3e2; border-radius: 9px; background: #fff; }
.reference-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); }
.reference-search input::placeholder { color: #a4aaa8; }
.reference-search a { color: #7b8381; font-size: 21px; }
.category-filter { margin: 17px 0 20px; display: flex; gap: 22px; overflow-x: auto; border-bottom: 1px solid #d8dcdb; scrollbar-width: thin; }
.category-filter a { flex: 0 0 auto; padding: 0 0 9px; color: #606765; font-size: 12px; white-space: nowrap; }
.category-filter a.active { color: #151918; border-bottom: 1px solid #151918; font-weight: 800; }
.admin-list { display: grid; gap: 10px; }
.admin-list.saving { opacity: .65; pointer-events: none; }
.admin-list.saved::before { content: "تم حفظ الترتيب"; position: fixed; z-index: 110; left: 24px; bottom: 24px; padding: 9px 14px; color: #fff; background: var(--brand); border-radius: 8px; font-size: 11px; box-shadow: var(--shadow); }
.admin-list-row { min-height: 64px; padding: 10px 12px; display: grid; grid-template-columns: 24px minmax(170px, 1.5fr) minmax(100px, .8fr) minmax(125px, .9fr) 94px 105px; align-items: center; gap: 12px; border: 1px solid #dfe3e2; border-radius: 9px; background: #fff; transition: .16s; }
.admin-list-row:hover { border-color: #cdd3d1; }
.admin-list-row.dragging { opacity: .55; border-style: dashed; transform: scale(.995); }
.drag-handle { color: #a2a8a6; font-size: 22px; line-height: 1; cursor: grab; user-select: none; }
.drag-handle:active { cursor: grabbing; }
.admin-list-main { min-width: 0; }
.admin-list-main strong, .admin-list-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-list-main strong { font-size: 13px; }
.admin-list-main small { color: var(--muted); font-size: 9px; }
.admin-list-meta { color: #5f6664; font-size: 11px; }
.inline-switch-form { display: flex; justify-content: center; }
.publish-switch { padding: 4px 8px; display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 999px; color: #7b8280; background: #eff1f0; font-size: 9px; }
.publish-switch span { width: 23px; height: 14px; padding: 2px; display: block; border-radius: 20px; background: #ced3d1; }
.publish-switch span::after { content: ""; width: 10px; height: 10px; display: block; border-radius: 50%; background: #fff; transition: .18s; }
.publish-switch.active { color: #1b8b65; background: #e7f7f1; }
.publish-switch.active span { background: #37bf91; }
.publish-switch.active span::after { transform: translateX(-9px); }
.publish-switch b { font-weight: 700; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: #151918; }
.row-actions a, .row-actions button, .row-actions > span { width: 27px; height: 27px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; color: inherit; }
.row-actions a:hover, .row-actions button:hover { background: #f0f2f1; color: var(--brand); }
.action-menu { position: relative; }
.action-menu summary { list-style: none; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu-panel { position: absolute; z-index: 25; top: calc(100% + 7px); left: 0; width: 185px; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.action-menu-panel a { display: block; padding: 9px 10px; border-radius: 7px; font-size: 11px; }
.action-menu-panel a:hover { color: var(--brand); background: var(--brand-soft); }
.smart-import-button { color: var(--brand); }
.list-caption { margin-top: 18px; padding: 0 48px 8px 12px; display: grid; grid-template-columns: minmax(170px, 1.5fr) minmax(100px, .8fr) minmax(125px, .9fr) 94px 105px; gap: 12px; color: #8b9290; font-size: 9px; }
.category-row-name { display: flex; align-items: center; gap: 10px; }
.category-row-name img { width: 42px; height: 42px; flex: 0 0 auto; object-fit: cover; border-radius: 8px; background: #eff1f0; }
.row-delete-menu { position: relative; }
.row-delete-menu summary { list-style: none; cursor: pointer; }
.row-delete-menu summary::-webkit-details-marker { display: none; }
.row-delete-menu > form { position: absolute; z-index: 35; top: 34px; left: 0; width: 235px; padding: 13px; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.row-delete-menu label { color: var(--muted); font-size: 10px; }
.row-delete-menu .select { min-height: 38px; padding: 6px 9px; font-size: 11px; }
.editor-modal { position: fixed; z-index: 100; inset: 0; padding: 20px; display: grid; place-items: center; pointer-events: none; }
.editor-modal-backdrop { position: absolute; inset: 0; opacity: 0; background: #18231f7d; transition: .2s; }
.editor-modal-card { position: relative; width: min(570px, 100%); max-height: calc(100vh - 40px); padding: 25px; overflow-y: auto; opacity: 0; transform: translateY(18px) scale(.99); background: #fff; border-radius: 11px; box-shadow: 0 28px 80px #0003; transition: .22s; }
.editor-modal.open { pointer-events: auto; }
.editor-modal.open .editor-modal-backdrop { opacity: 1; }
.editor-modal.open .editor-modal-card { opacity: 1; transform: none; }
.editor-modal-header { margin-bottom: 21px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.editor-modal-header h2 { margin: 0; font-size: 19px; }
.editor-modal-card form { display: grid; gap: 15px; }
.category-upload-box { min-height: 145px; padding: 16px; display: flex; flex-direction: column; gap: 3px; cursor: pointer; color: #656d6b; }
.category-upload-box img { width: 66px; height: 66px; object-fit: cover; border-radius: 9px; }
.category-upload-box strong { color: var(--ink); font-size: 12px; }
.category-upload-box small { font-size: 9px; }
.category-upload-box input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.editor-more-settings { border: 1px solid var(--line); border-radius: 8px; }
.editor-more-settings summary { padding: 10px 12px; color: var(--brand); cursor: pointer; font-size: 11px; font-weight: 800; }
.editor-more-content { padding: 4px 12px 14px; display: grid; gap: 13px; }
.editor-switches { display: flex; gap: 20px; }

/* Settings */
.settings-layout { display: grid; grid-template-columns: 230px 1fr; gap: 18px; align-items: start; }
.settings-nav { position: sticky; top: 95px; padding: 10px; }
.settings-nav a { display: block; padding: 10px 11px; border-radius: 9px; color: var(--muted); font-size: 12px; font-weight: 700; }
.settings-nav a:hover, .settings-nav a.active { color: var(--brand); background: var(--brand-soft); }
.settings-sections { display: grid; gap: 18px; }
.settings-section { scroll-margin-top: 100px; }
.hours-grid { display: grid; gap: 8px; }
.hours-row { padding: 10px 0; display: grid; grid-template-columns: 120px 90px 1fr 1fr; gap: 10px; align-items: center; border-bottom: 1px solid var(--line); }

/* Plans, store, reports */
.billing-toggle { width: max-content; margin: 0 auto 22px; padding: 5px; display: flex; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.billing-toggle a { padding: 8px 22px; border-radius: 8px; font-size: 12px; font-weight: 700; }
.billing-toggle a.active { background: var(--brand-soft); color: var(--brand); }
.plans-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.plan-card { position: relative; padding: 23px 18px 18px; display: flex; flex-direction: column; }
.plan-card.featured { border-color: var(--brand); box-shadow: var(--shadow); transform: translateY(-7px); }
.popular { position: absolute; top: 12px; left: 12px; color: var(--brand); background: #cceee0; }
.plan-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-soft); }
.plan-card h3 { margin: 15px 0 3px; }
.plan-price { margin-bottom: 15px; color: var(--accent); font-size: 30px; font-weight: 900; }
.plan-price small { color: var(--muted); font-size: 11px; font-weight: 500; }
.plan-features { margin: 0 0 20px; padding: 15px 0 0; display: grid; gap: 9px; border-top: 1px solid var(--line); list-style: none; font-size: 11px; }
.plan-feature { display: flex; gap: 8px; }
.plan-feature::before { content: "✓"; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-size: 10px; font-weight: 900; }
.plan-feature.off { color: #a6adab; }
.plan-feature.off::before { content: "×"; color: #858d8b; background: #edf0ef; }
.plan-feature small { color:inherit; }
.plan-card .btn { margin-top: auto; }
.plan-trial-copy { margin:10px 0 0; text-align:center; color:var(--muted); font-size:10px; }
.store-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.store-card { overflow: hidden; display: flex; flex-direction: column; }
.store-visual { height: 190px; padding: 24px; display: flex; align-items: flex-end; color: #fff; background: linear-gradient(145deg, var(--brand), #0d3c37); position: relative; overflow: hidden; }
.store-visual::before { content: ""; position: absolute; width: 180px; height: 180px; left: -30px; top: 30px; border-radius: 42% 58% 60% 40%; background: var(--accent); opacity: .95; }
.store-visual .icon { position: relative; width: 64px; height: 64px; z-index: 1; }
.store-card-body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.store-card-body h3 { margin: 0 0 6px; }
.store-card-body p { color: var(--muted); font-size: 12px; flex: 1; }
.report-metrics { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.metric { padding: 17px; }
.metric strong { display: block; font-size: 22px; }
.metric span { color: var(--muted); font-size: 11px; }
.qr-main-grid { display: grid; grid-template-columns: minmax(280px, .8fr) 1.2fr; gap: 35px; align-items: center; }
.qr-reference-layout { width: min(370px, 100%); margin: 0 auto; }
.qr-reference-card { padding: 28px 34px 25px; text-align: center; }
.qr-reference-card > p { margin: 0 0 12px; color: #343a39; font-size: 11px; }
.qr-reference-card > img { width: min(285px, 100%); aspect-ratio: 1; margin: 0 auto 13px; }
.qr-download-menu { position: relative; width: max-content; margin: 0 auto; }
.qr-download-menu summary { list-style: none; }
.qr-download-menu summary::-webkit-details-marker { display: none; }
.qr-download-menu > div { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; min-width: 165px; padding: 6px; display: grid; text-align: right; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.qr-download-menu a, .qr-download-menu button { padding: 8px 9px; border: 0; border-radius: 6px; text-align: right; background: transparent; font-size: 10px; }
.qr-download-menu a:hover, .qr-download-menu button:hover { background: var(--brand-soft); color: var(--brand); }
.qr-link-block { margin-top: 22px; }
.qr-link-block > label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.qr-link-block > p { padding: 13px; color: #315e9e; background: #e9f1ff; border: 1px solid #a9c7f4; border-radius: 7px; font-size: 10px; }
.qr-copy-row { display: flex; gap: 8px; direction: ltr; }
.qr-copy-row .btn { flex: 0 0 auto; }
.table-qr-section { margin-top: 65px; }

/* Search overlay */
.search-overlay { position: fixed; z-index: 100; inset: 0; padding: 12vh 20px; background: rgba(13, 27, 25, .55); backdrop-filter: blur(5px); }
.search-panel { width: min(650px, 100%); margin: 0 auto; padding: 15px 18px; display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 16px; box-shadow: 0 30px 80px #0003; }
.search-panel input { flex: 1; border: 0; outline: 0; font-size: 17px; }
.search-close { position: absolute; top: 25px; left: 30px; width: 42px; height: 42px; border: 0; border-radius: 50%; color: #fff; background: #ffffff22; font-size: 26px; }
.search-results { position: absolute; width: min(650px, calc(100% - 40px)); top: calc(12vh + 70px); left: 50%; transform: translateX(-50%); padding: 8px; background: #fff; border-radius: 12px; box-shadow: var(--shadow); }
.search-results a { display: block; padding: 9px 12px; border-radius: 8px; font-size: 13px; }
.search-results a:hover { background: var(--brand-soft); color: var(--brand); }
.sidebar-backdrop { display: none; }

/* Authentication */
.auth-page { min-height: 100vh; padding: 30px; display: grid; grid-template-columns: 1fr 1fr; background: #fff; }
.auth-visual { position: relative; overflow: hidden; padding: 55px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: var(--brand); border-radius: 28px; }
.auth-visual::after { content: ""; position: absolute; width: 390px; height: 390px; left: -110px; bottom: -70px; border-radius: 46% 54% 62% 38%; background: var(--accent); }
.auth-visual > * { position: relative; z-index: 1; }
.auth-visual h1 { max-width: 530px; font-size: clamp(35px, 5vw, 65px); line-height: 1.2; letter-spacing: -2px; }
.auth-card-wrap { display: grid; place-items: center; padding: 30px; }
.auth-card { width: min(430px, 100%); }
.auth-card h2 { margin: 0 0 8px; font-size: 30px; }
.auth-card > p { color: var(--muted); margin: 0 0 30px; }
.auth-card form { display: grid; gap: 18px; }
.register-card { width: min(650px, 100%); }
.auth-switch { margin-top: 18px !important; text-align: center; font-size: 13px; }
.auth-switch a { color: var(--brand); font-weight: 800; }
.login-page {
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden;
    background: #f7f7f7;
}
.login-shell {
    min-height: 100vh;
    min-height: 100svh;
    padding: 92px 22px 68px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.login-stage {
    width: min(480px, 100%);
    position: relative;
    z-index: 1;
    transform: translateY(-6px);
}
.login-stage::before,
.login-stage::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.login-stage::before {
    width: 158px;
    height: 226px;
    top: -72px;
    right: -84px;
    border-radius: 34px 36px 52px 42px;
    background: linear-gradient(155deg, rgba(228, 228, 228, .42), rgba(224, 224, 224, .76));
    transform: skewY(-20deg);
}
.login-stage::after {
    width: 104px;
    height: 148px;
    top: -48px;
    right: -18px;
    border-radius: 30px 34px 42px 30px;
    background: linear-gradient(155deg, rgba(246, 246, 246, .7), rgba(232, 232, 232, .28));
    transform: skewY(-20deg);
}
.login-menux-brand {
    width: 100%;
    min-height: 48px;
    margin-bottom: 24px;
    padding-inline-end: 1px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    direction: ltr;
    position: relative;
    z-index: 2;
}
.login-menux-word {
    color: #07574f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 31px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.8px;
}
.login-menux-mark {
    width: 24px;
    height: 35px;
    flex: 0 0 auto;
}
.login-card {
    width: 100%;
    padding: 31px 34px 32px;
    position: relative;
    z-index: 2;
    background: #fff;
    border: 1px solid #dedfdf;
    border-radius: 13px;
    box-shadow: 0 2px 4px rgba(25, 37, 35, .015);
}
.login-card-head {
    margin-bottom: 13px;
    text-align: right;
}
.login-card h1 {
    margin: 0;
    color: #0e1514;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
}
.login-card .alert {
    margin-bottom: 14px;
    font-size: 12px;
}
.login-field {
    gap: 6px;
    margin-bottom: 13px;
}
.login-field > label {
    color: #111817;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 600;
}
.login-input {
    min-height: 42px;
    height: 42px;
    padding: 8px 12px;
    border-color: #d9dddd;
    border-radius: 7px;
    background: #fff;
    color: #111817;
    font-size: 12px;
}
.login-input[type="email"] { text-align: right; }
.login-input:-webkit-autofill,
.login-input:-webkit-autofill:hover,
.login-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #111817;
    box-shadow: 0 0 0 1000px #e9f1ff inset;
}
.login-password-group { margin-bottom: 0; }
.password-field { position: relative; }
.password-field input { padding-inline-start: 42px; padding-inline-end: 12px; }
.password-field button {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 28px;
    height: 28px;
    padding: 4px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    color: #6e7775;
    border: 0;
    border-radius: 50%;
    background: transparent;
}
.password-field button:hover { background: #f2f3f3; }
.password-field button svg { width: 19px; height: 19px; }
.login-forgot {
    width: max-content;
    margin-top: 1px;
    color: #5e6664;
    font-size: 11px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.login-forgot:hover { color: var(--brand); }
.login-actions {
    margin-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.login-register-prompt {
    margin: 0;
    color: #5d6563;
    font-size: 12px;
    white-space: nowrap;
}
.login-register-prompt a {
    margin-inline-start: 3px;
    color: #064f48;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.login-submit {
    min-width: 92px;
    min-height: 41px;
    padding: 8px 14px;
    flex: 0 0 auto;
    border-radius: 7px;
    font-size: 12px;
}
.login-divider {
    margin: 20px 0 19px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #666e6c;
    font-size: 11px;
    white-space: nowrap;
}
.login-divider::before,
.login-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e3e5e4;
}
.login-google {
    width: 100%;
    min-height: 44px;
    padding: 8px 44px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dedfdf;
    border-radius: 8px;
    background: #fff;
    color: #101615;
    font-size: 12px;
    font-weight: 500;
}
.login-google:hover { background: #fafafa; border-color: #d2d5d4; }
.login-google-icon { position: absolute; left: 13px; width: 22px; height: 22px; }
.login-meta-footer {
    width: 100%;
    margin-top: 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #5f6765;
    font-size: 12px;
}
.login-support {
    color: #5d6563;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.login-support:hover { color: var(--brand); }
.login-language {
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #262d2b;
    border: 0;
    background: transparent;
    font-size: 12px;
    direction: ltr;
}
.login-language-flag {
    width: 23px;
    height: 23px;
    display: inline-grid;
    place-items: center;
    border-radius: 5px;
    color: #fff;
    background: #075a4e;
    font-size: 10px;
    font-weight: 700;
}
.login-language-chevron { width: 12px; height: 12px; }


/* Public menu */
.menu-body { background: #f1f2f1; }
.menu-shell { width: min(720px, 100%); min-height: 100vh; margin: 0 auto; background: #fff; box-shadow: 0 0 45px rgba(20, 35, 33, .07); }
.menu-topbar { height: 48px; padding: 6px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.menu-top-group { display: flex; align-items: center; gap: 7px; }
.menu-top-group-secondary { direction: ltr; }
.menu-icon-action { width: 29px; height: 29px; padding: 0; display: inline-grid; place-items: center; color: #414745; border: 0; border-radius: 50%; background: transparent; }
.menu-icon-action:hover { background: #f0f2f1; }
.language-action { min-width: 26px; height: 26px; padding: 0 5px; display: inline-grid; place-items: center; color: #fff; background: var(--brand); border-radius: 5px; font-size: 9px; font-weight: 900; }
.order-type-trigger { min-height: 31px; padding: 3px 4px; display: inline-flex; align-items: center; gap: 6px; color: #303533; border: 0; background: transparent; font-size: 11px; }
.order-type-symbol { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-size: 17px; font-weight: 900; transform: rotate(-25deg); }
.menu-search-panel { margin: 0 15px 10px; min-height: 44px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #dfe3e2; border-radius: 9px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.05); }
.menu-search-panel input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; }
.menu-search-panel button { width: 27px; height: 27px; border: 0; border-radius: 50%; background: #f0f2f1; font-size: 18px; }
.menu-promotions { display:grid; gap:10px; margin:14px 18px; }
.menu-promotions article { display:grid; gap:3px; padding:14px 16px; border-radius:14px; background:linear-gradient(135deg,var(--brand),#163f3a); color:#fff; }
.menu-promotions span { color:#bfe0db; font-size:10px; }
.menu-promotions strong { font-size:15px; }
.menu-promotions small { color:#e7f3f1; }
.menu-cover { position: relative; margin: 0 14px; }
.menu-cover { height: 322px; overflow: hidden; border-radius: 12px; background: #eef1ef; }
.menu-cover-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.02); transition: opacity .5s, transform 5s; }
.menu-cover-slide.active { opacity: 1; transform: scale(1); }
.cover-dots { position: absolute; z-index: 2; right: 50%; bottom: 13px; display: flex; gap: 5px; transform: translateX(50%); }
.cover-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; opacity: .75; background: #fff; transition: .2s; }
.cover-dots button.active { width: 22px; opacity: 1; }
.menu-identity { min-height: 82px; padding: 14px; padding-inline-start: 105px; padding-inline-end: 86px; position: relative; }
.menu-logo { position: absolute; right: 20px; top: -30px; width: 82px; height: 82px; object-fit: cover; background: #fff; border: 4px solid #fff; border-radius: 17px; box-shadow: 0 8px 20px #0002; }
.menu-identity-copy { min-width: 0; }
.menu-identity h1 { margin: 0; font-size: 21px; }
.menu-identity p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.open-pill { position: absolute; left: 16px; bottom: 16px; color: #13925a; background: #e0f7ec; }
.category-strip { position: sticky; z-index: 20; top: 0; padding: 11px 15px; display: flex; gap: 8px; overflow-x: auto; background: rgba(255,255,255,.96); border-bottom: 1px solid #eff1f0; scrollbar-width: none; }
.category-strip::-webkit-scrollbar { display: none; }
.category-pill { flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; background: #f0f1f1; font-size: 12px; font-weight: 700; }
.category-pill.active, .category-pill:hover { color: #fff; background: var(--brand); }
.menu-content { padding: 4px 16px 100px; }
.menu-no-results { padding: 65px 20px; text-align: center; color: var(--muted); }
.menu-no-results .icon { color: var(--brand); }
.menu-no-results h3 { margin: 10px 0 3px; color: var(--ink); }
.menu-no-results p { margin: 0; font-size: 11px; }
.menu-category { padding-top: 18px; scroll-margin-top: 56px; }
.menu-category h2 { margin: 0 0 10px; font-size: 18px; }
.public-products { display: grid; gap: 0; }
.public-product {
    width: 100%;
    min-height: 120px;
    padding: 14px 0;
    display: grid;
    grid-template-columns: 1fr 104px;
    gap: 14px;
    text-align: right;
    color: inherit;
    border: 0;
    border-bottom: 1px solid #eceeed;
    background: #fff;
}
.public-product-info { min-width: 0; }
.public-product h3 { margin: 0 0 5px; font-size: 15px; }
.public-product p { margin: 0 0 9px; color: #747c7a; font-size: 11px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.public-product img { width: 104px; height: 92px; object-fit: cover; border-radius: 13px; background: #eef1ef; }
.public-price { display: flex; align-items: center; gap: 7px; font-weight: 900; }
.old-price { color: #9ca3a1; text-decoration: line-through; font-size: 11px; }
.save-price { color: var(--success); font-size: 10px; }
.product-badges { margin-bottom: 5px; display: flex; gap: 5px; flex-wrap: wrap; }
.product-badges span { padding: 2px 7px; border-radius: 999px; color: var(--accent); background: var(--accent-soft); font-size: 9px; font-weight: 700; }
.cart-fab {
    position: fixed;
    z-index: 30;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: min(720px, calc(100% - 28px));
    min-height: 58px;
    padding: 10px 17px;
    display: none;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    border: 0;
    border-radius: 15px;
    background: var(--brand);
    box-shadow: 0 16px 35px color-mix(in srgb, var(--brand) 35%, transparent);
    font-weight: 800;
}
.cart-fab.show { display: flex; }
.cart-count { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: #fff; font-size: 12px; }
.drawer { position: fixed; z-index: 80; inset: 0; pointer-events: none; }
.drawer-backdrop { position: absolute; inset: 0; opacity: 0; background: #15232088; transition: .25s; }
.drawer-panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(480px, 100%); padding: 22px; overflow-y: auto; background: #fff; transform: translateX(-102%); transition: .25s; }
.drawer.open { pointer-events: auto; }
.drawer.open .drawer-backdrop { opacity: 1; }
.drawer.open .drawer-panel { transform: translateX(0); }
.drawer-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.drawer-header h2 { margin: 0; }
.drawer-close { width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f0f2f1; font-size: 22px; }
.menu-sheet { position: fixed; z-index: 85; inset: 0; padding: 0; display: grid; align-items: end; pointer-events: none; }
.menu-sheet-backdrop { position: absolute; inset: 0; border: 0; opacity: 0; background: #18221f77; transition: .22s; }
.menu-sheet-panel { position: relative; width: min(720px, 100%); max-height: min(82vh, 720px); margin: 0 auto; padding: 22px; overflow-y: auto; color: var(--ink); background: #fff; border-radius: 18px 18px 0 0; transform: translateY(102%); transition: .24s ease; box-shadow: 0 -20px 55px #0002; }
.menu-sheet.open { pointer-events: auto; }
.menu-sheet.open .menu-sheet-backdrop { opacity: 1; }
.menu-sheet.open .menu-sheet-panel { transform: translateY(0); }
.menu-sheet-header { margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.menu-sheet-header h2, .menu-sheet-header p { margin: 0; }
.menu-sheet-header h2 { font-size: 19px; }
.menu-sheet-header p { color: var(--muted); font-size: 11px; }
.menu-info-block { padding: 17px 0; border-top: 1px solid var(--line); }
.menu-info-block h3 { margin: 0 0 8px; font-size: 14px; }
.menu-info-block p { margin: 0; color: var(--muted); font-size: 11px; }
.public-hours { display: grid; gap: 6px; }
.public-hours div { display: flex; justify-content: space-between; gap: 18px; font-size: 11px; }
.public-hours b { font-weight: 600; }
.menu-info-links { padding-top: 16px; display: flex; gap: 8px; border-top: 1px solid var(--line); }
.menu-info-links a { flex: 1; padding: 10px; text-align: center; color: var(--brand); background: var(--brand-soft); border-radius: 8px; font-size: 11px; font-weight: 800; }
.compact-sheet { padding-bottom: 30px; }
.order-type-options { display: grid; }
.order-type-options button { min-height: 57px; padding: 10px 4px; display: grid; grid-template-columns: 34px 1fr 24px; align-items: center; gap: 10px; text-align: right; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.order-type-options button:last-child { border-bottom: 0; }
.order-type-choice-icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 17px; }
.order-type-options b { font-size: 13px; }
.order-type-options i { width: 19px; height: 19px; display: none; place-items: center; color: #fff; background: var(--brand); border-radius: 50%; font-size: 10px; font-style: normal; }
.order-type-options button.active i { display: grid; }
.cart-lines { display: grid; gap: 9px; }
.cart-line { padding: 11px; display: grid; grid-template-columns: 1fr auto; gap: 9px; border: 1px solid var(--line); border-radius: 12px; }
.cart-qty { display: flex; align-items: center; gap: 8px; }
.cart-qty button { width: 27px; height: 27px; border: 0; border-radius: 8px; color: var(--brand); background: var(--brand-soft); }
.menu-about { padding: 26px 18px; color: var(--muted); font-size: 12px; background: #fafbfa; }
.platform-promo { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 18px 0; padding:14px 16px; border:1px solid #dce9e6; border-radius:14px; background:#f1f8f6; color:var(--brand); font-size:12px; }
.platform-promo a { flex:0 0 auto; padding:8px 12px; border-radius:10px; background:var(--brand); color:#fff; font-weight:800; }
.platform-credit { padding: 18px; text-align: center; color: #9ba2a0; font-size: 11px; }
.account-page { min-height: 100vh; padding: 0 20px; display: grid; place-items: start center; overflow: hidden; position: relative; background: #fff; }
.account-page::before { content: ""; position: fixed; top: -120px; left: calc(50% - 360px); width: 360px; height: 520px; border-radius: 0 0 170px 0; background: linear-gradient(145deg, #f4f5f4, #e9ebea); transform: skewY(-20deg); transform-origin: top left; }
.account-card { width: min(720px, 100%); min-height: 100vh; padding: 95px 45px 55px; position: relative; z-index: 1; background: transparent; }
.order-history { margin-top: 20px; display: grid; gap: 10px; }
.menu-alert { margin: 10px 16px; }
.public-product-image { position: relative; align-self: center; }
.public-product-image i {
    position: absolute;
    left: -5px;
    bottom: -5px;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--brand);
    border: 3px solid #fff;
    border-radius: 50%;
    font-size: 18px;
    font-style: normal;
    line-height: 1;
}
.menu-content > .review-section { margin-top: 30px; padding: 25px; background: #f8faf9; border-radius: 20px; }
.category-overview { padding: 18px 0 6px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.category-overview-card { min-height: 135px; padding: 10px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; position: relative; color: #fff; border-radius: 15px; background: var(--brand); }
.category-overview-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .42; }
.category-overview-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, #10201dcc); }
.category-overview-card strong, .category-overview-card small { position: relative; z-index: 1; }
.category-overview-card small { opacity: .8; font-size: 10px; }
.social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.social-links a { padding: 6px 11px; color: var(--brand); background: var(--brand-soft); border-radius: 999px; font-weight: 700; }
.cart-summary { margin: 15px 0; padding: 13px 0; display: flex; justify-content: space-between; border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); }
.checkout-form { display: grid; gap: 14px; padding-bottom: 25px; }
.order-type-grid { display: flex; flex-wrap: wrap; gap: 7px; }
.conditional-field[hidden] { display: none; }
.cart-line small, .cart-line .price { display: block; }
.cart-line small { color: var(--muted); font-size: 10px; }
.cart-line .price { margin-top: 5px; font-size: 12px; }
.modal-open { overflow: hidden; }
.product-modal {
    position: fixed;
    z-index: 90;
    inset: 0;
    padding: 0;
    display: grid;
    align-items: end;
    pointer-events: none;
}
.product-modal-backdrop { position: absolute; inset: 0; border: 0; opacity: 0; background: #15232099; transition: .2s; }
.product-modal-card {
    position: relative;
    width: min(720px, 100%);
    max-height: 92vh;
    margin: 0 auto;
    overflow-y: auto;
    transform: translateY(102%);
    color: var(--ink);
    background: #fff;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 25px 80px #0004;
    transition: .22s;
}
.product-modal.open { pointer-events: auto; }
.product-modal.open .product-modal-backdrop { opacity: 1; }
.product-modal.open .product-modal-card { transform: translateY(0); }
.product-modal-close { position: absolute; z-index: 2; top: 13px; left: 13px; color: #fff; background: #17211faa; }
.product-modal-image { width: 100%; height: 255px; object-fit: cover; background: #eef1ef; }
.product-modal-gallery { padding: 9px 14px 0; display: flex; gap: 7px; overflow-x: auto; }
.product-modal-gallery:empty { display: none; }
.product-modal-gallery button { width: 56px; height: 48px; flex: 0 0 auto; padding: 2px; overflow: hidden; border: 2px solid transparent; border-radius: 9px; background: #fff; }
.product-modal-gallery button.active { border-color: var(--brand); }
.product-modal-gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.product-modal-body { padding: 23px; }
.product-modal-body h2 { margin: 4px 0 7px; }
.nutrition-row { margin: 12px 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nutrition-row span { padding: 5px 8px; color: #56615e; background: #f0f2f1; border-radius: 8px; font-size: 10px; }
.product-choice-group { margin: 18px 0; padding: 0; border: 0; }
.product-choice-group legend { margin-bottom: 9px; font-size: 13px; font-weight: 800; }
.modal-choice-list { display: grid; gap: 7px; }
.modal-choice { position: relative; }
.modal-choice input { position: absolute; opacity: 0; }
.modal-choice span { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 11px; }
.modal-choice small { color: var(--muted); }
.modal-choice input:checked + span { color: var(--brand); background: var(--brand-soft); border-color: var(--brand); }
.modal-cart-bar { position: sticky; bottom: 0; margin: 20px -8px -8px; padding: 9px; display: grid; grid-template-columns: auto 1fr; gap: 9px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 -7px 20px #0000000c; }
.modal-cart-bar .btn { min-height: 44px; }
.modal-quantity { display: flex; align-items: center; gap: 7px; direction: ltr; }
.modal-quantity button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 6px; background: #e8eae9; font-size: 17px; }
.modal-quantity strong { min-width: 19px; text-align: center; }
.order-success-modal { position: fixed; z-index: 100; inset: 0; padding: 20px; display: grid; place-items: center; pointer-events: none; }
.order-success-backdrop { position: absolute; inset: 0; border: 0; opacity: 0; background: #18221f88; transition: .2s; }
.order-success-card { position: relative; width: min(640px, 100%); max-height: 90vh; overflow-y: auto; padding: 12px; opacity: 0; transform: translateY(18px); background: #fff; border-radius: 14px; transition: .22s; }
.order-success-modal.open { pointer-events: auto; }
.order-success-modal.open .order-success-backdrop { opacity: 1; }
.order-success-modal.open .order-success-card { opacity: 1; transform: none; }
.order-success-hero { min-height: 260px; padding: 32px 20px; display: grid; place-items: center; align-content: center; color: #fff; text-align: center; background: #101111; border-radius: 11px; overflow: hidden; position: relative; }
.order-success-hero::before, .order-success-hero::after { content: ""; position: absolute; width: 100px; height: 100px; border: 12px solid var(--accent); opacity: .5; transform: rotate(28deg); }
.order-success-hero::before { top: -62px; right: -32px; }
.order-success-hero::after { bottom: -70px; left: -40px; }
.order-success-hero > span { width: 62px; height: 62px; margin-bottom: 12px; display: grid; place-items: center; border-radius: 50%; background: #737675; font-size: 30px; font-weight: 900; }
.order-success-hero p, .order-success-hero h2, .order-success-hero strong { margin: 0; position: relative; z-index: 1; }
.order-success-hero p { font-size: 13px; }
.order-success-hero h2 { font-size: 20px; }
.order-success-hero strong { margin-top: 7px; font-size: 11px; }
.order-success-actions { padding: 14px 4px 2px; display: flex; flex-wrap: wrap; gap: 8px; }
.order-success-actions .btn { flex: 1; white-space: nowrap; }
.item-style-grid .public-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.item-style-grid .public-product { padding: 0; display: flex; flex-direction: column-reverse; overflow: hidden; text-align: right; border: 1px solid var(--line); border-radius: 15px; }
.item-style-grid .public-product-info { padding: 12px; }
.item-style-grid .public-product-image, .item-style-grid .public-product img { width: 100%; height: 150px; }
.image-ratio-square .public-product img { aspect-ratio: 1; height: auto; }
.category-style-minimal .category-pill { padding-inline: 5px; background: transparent; border-radius: 0; }
.category-style-minimal .category-pill.active { color: var(--brand); border-bottom: 2px solid var(--brand); }
.theme-dark .menu-shell, .theme-dark .category-strip, .theme-dark .public-product { color: #f2f6f5; background: #15211f; }
.theme-dark .menu-body { background: #101816; }
.theme-dark .menu-topbar, .theme-dark .category-strip, .theme-dark .public-product { border-color: #2b3936; }
.theme-dark .public-product p, .theme-dark .menu-identity p, .theme-dark .muted { color: #9eaaa7; }
.theme-dark .menu-about, .theme-dark .review-section { color: #aeb8b6; background: #1c2a27; }
.theme-dark .input, .theme-dark .select, .theme-dark .textarea { color: #eef4f2; background: #1c2a27; border-color: #34423f; }
.theme-dark .product-modal-card, .theme-dark .drawer-panel { color: #eef4f2; background: #15211f; }
.theme-dark .modal-choice span, .theme-dark .cart-line { border-color: #34423f; }
.account-brand { margin: 15px auto 45px; display: flex; flex-direction: column; align-items: center; gap: 13px; text-align: center; }
.account-brand img { width: 62px; height: 62px; object-fit: cover; border-radius: 13px; box-shadow: 0 8px 24px #0001; }
.account-brand h1, .account-brand p { margin: 0; }
.account-brand p { color: var(--muted); font-size: 12px; }
.account-card > h1, .account-card > p.muted { width: min(370px, 100%); margin-inline: auto; text-align: center; }
.account-card > h1 { margin-bottom: 5px; font-size: 20px; }
.account-card form { width: min(370px, 100%); margin-inline: auto; display: grid; gap: 16px; }
.account-secondary-form { margin-top: 8px; }
.account-back { position: absolute; top: 25px; right: 45px; display: block; color: #202625; font-size: 13px; font-weight: 800; }
.account-back::before { content: "→"; margin-inline-end: 8px; font-size: 19px; vertical-align: -2px; }
.account-welcome, .order-history-head, .order-history-card > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-welcome { padding: 15px 0 18px; border-bottom: 1px solid var(--line); }
.account-welcome form { width: auto; margin: 0; }
.account-welcome strong, .account-welcome small { display: block; }
.account-welcome small { color: var(--muted); }
.order-history-card { padding: 14px; }
.order-history-card p { margin: 8px 0; color: var(--muted); font-size: 11px; }
.order-history-card > div:last-child { font-size: 11px; }
.otp-input { text-align: center; direction: ltr; font-size: 27px; letter-spacing: 9px; font-weight: 800; }
.inline-edit-card { position: absolute; z-index: 12; left: 35px; width: min(650px, 90vw); box-shadow: var(--shadow); }
.media-remove-grid { margin: 8px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.media-remove-grid label { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.media-remove-grid img { width: 100%; height: 85px; object-fit: cover; }
.media-remove-grid span { padding: 5px 7px; display: block; font-size: 10px; }
.media-remove-grid input { accent-color: var(--danger); }

/* Marketing landing */
.landing { background: #fff; color: #17211f; }
.landing-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.landing-nav { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.landing-links { display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 700; }
.landing-hero { overflow: hidden; color: #fff; background: var(--brand); }
.hero-grid { min-height: 620px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; }
.hero-copy .eyebrow { color: #b7ded8; font-weight: 800; }
.hero-copy h1 { margin: 14px 0 18px; font-size: clamp(42px, 6vw, 76px); line-height: 1.15; letter-spacing: -2px; }
.hero-copy p { max-width: 590px; color: #d6e6e3; }
.hero-actions { margin-top: 28px; display: flex; gap: 10px; flex-wrap: wrap; }
.hero-art { position: relative; min-height: 530px; display: grid; place-items: end center; }
.hero-blob { position: absolute; width: 420px; height: 470px; bottom: 0; border-radius: 48% 52% 0 0 / 36% 40% 0 0; background: var(--accent); transform: rotate(-4deg); }
.hero-phone { position: relative; z-index: 2; width: 290px; padding: 16px; margin-bottom: 40px; border: 10px solid #151b1a; border-radius: 35px; background: #fff; box-shadow: 0 35px 70px #0015; transform: rotate(5deg); }
.hero-phone img { border-radius: 18px; }
.trust-strip { padding: 24px 0; text-align: center; color: #5f6967; font-size: 13px; border-bottom: 1px solid var(--line); }
.feature-section { padding: 100px 0; }
.feature-section.alt { background: #f6f7f6; }
.feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.feature-copy .eyebrow { color: var(--accent); font-weight: 800; font-size: 13px; }
.feature-copy h2 { margin: 8px 0 16px; font-size: clamp(32px, 4vw, 52px); line-height: 1.25; }
.feature-copy p { color: var(--muted); }
.feature-mock { min-height: 360px; padding: 30px; display: grid; place-items: center; background: linear-gradient(145deg, #eaf0ef, #f9faf9); border-radius: 30px; }
.feature-mock .card { width: min(430px, 100%); padding: 20px; transform: rotate(-2deg); box-shadow: var(--shadow); }
.landing-pricing { padding: 100px 0; }
.section-head { max-width: 700px; margin: 0 auto 45px; text-align: center; }
.section-head h2 { margin: 0 0 10px; font-size: 42px; }
.section-head p { color: var(--muted); }
.landing-footer { padding: 50px 0; color: #d5e7e4; background: #123e3a; }
.landing-footer .landing-container { display: flex; justify-content: space-between; gap: 30px; }

@media (max-width: 1180px) {
    .stat-grid:not(.stats-three) { grid-template-columns: repeat(2, 1fr); }
    .plans-grid { grid-template-columns: repeat(2, 1fr); }
    .plan-card.featured { transform: none; }
    .report-metrics { grid-template-columns: repeat(3, 1fr); }
    .order-card { grid-template-columns: 80px 1fr 120px 110px 32px; }
    .order-table-head { grid-template-columns: 80px 1fr 120px 110px 32px; }
    .order-card > :nth-child(3) { display: none; }
    .order-table-head > :nth-child(3) { display: none; }
}

@media (max-width: 960px) {
    :root { --sidebar: 280px; }
    .admin-sidebar { transform: translateX(105%); transition: .25s ease; box-shadow: -20px 0 50px #0002; }
    body.sidebar-open .admin-sidebar { transform: translateX(0); }
    .sidebar-backdrop { position: fixed; z-index: 45; inset: 0; background: #0b1f1c77; }
    body.sidebar-open .sidebar-backdrop { display: block; }
    .admin-shell { margin-right: 0; }
    .mobile-menu { display: inline-grid; }
    .profile-chip { display: none; }
    .dashboard-grid, .order-detail-grid, .settings-layout { grid-template-columns: 1fr; }
    .dashboard-columns { grid-template-columns: 1fr; }
    .visited-products-card { width: 100%; }
    .settings-nav { position: static; display: flex; overflow-x: auto; }
    .settings-nav a { flex: 0 0 auto; }
    .product-grid, .store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qr-main-grid { grid-template-columns: 1fr; }
    .hero-grid, .feature-row { grid-template-columns: 1fr; }
    .hero-copy { padding-top: 70px; }
    .hero-art { min-height: 450px; }
    .feature-row .feature-copy { order: -1; }
}

@media (max-width: 680px) {
    .topbar { padding: 10px 14px; gap: 9px; }
    .visit-menu { font-size: 0; }
    .quick-search { flex: 1; width: auto; }
    .quick-search span { font-size: 11px; }
    .quick-search kbd { display: none; }
    .topbar-actions .icon-button { display: none; }
    .page-wrap { width: calc(100% - 28px); padding-top: 18px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .page-heading h1 { font-size: 26px; }
    .page-actions { width: 100%; }
    .page-actions .btn { flex: 1; }
    .stat-grid, .stats-three, .product-grid, .store-grid, .plans-grid, .report-metrics { grid-template-columns: 1fr; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .form-grid, .form-grid.cols-3 { grid-template-columns: 1fr; }
    .field.full { grid-column: auto; }
    .filters { align-items: stretch; }
    .filters .input, .filters .select, .filters .search-field { width: 100%; }
    .order-card { grid-template-columns: 75px 1fr auto; padding: 13px; }
    .order-card > :nth-child(3), .order-card > :nth-child(4), .order-card > :nth-child(5) { display: none; }
    .order-table-head { display: none; }
    .order-preview-panel { padding: 17px 14px; }
    .order-preview-footer { flex-direction: column; }
    .list-caption { display: none; }
    .admin-list-row { grid-template-columns: 20px minmax(0, 1fr) 86px 78px; gap: 8px; padding: 9px; }
    .admin-list-row > .admin-list-meta { display: none; }
    .admin-list-row .row-actions { grid-column: 4; }
    .admin-list-row .inline-switch-form { grid-column: 3; }
    .category-row-name img { width: 38px; height: 38px; }
    .row-delete-menu > form { left: -45px; width: 215px; }
    .editor-modal { padding: 0; align-items: end; }
    .editor-modal-card { width: 100%; max-height: 92vh; padding: 20px 16px; border-radius: 18px 18px 0 0; }
    .hours-row { grid-template-columns: 1fr 80px; }
    .hours-row .input { grid-column: span 1; }
    .admin-footer { padding: 18px 14px; flex-direction: column; gap: 4px; }
    .auth-page { padding: 12px; grid-template-columns: 1fr; }
    .auth-visual { display: none; }
    .auth-card-wrap { padding: 18px; }
    .login-shell { padding: 54px 14px 46px; align-items: flex-start; }
    .login-stage { width: min(480px, 100%); transform: none; }
    .login-stage::before { width: 120px; height: 175px; top: -34px; right: -52px; opacity: .62; }
    .login-stage::after { width: 78px; height: 116px; top: -18px; right: -3px; opacity: .72; }
    .login-menux-brand { min-height: 42px; margin-bottom: 18px; }
    .login-menux-word { font-size: 28px; }
    .login-menux-mark { width: 22px; height: 32px; }
    .login-card { padding: 27px 22px 25px; }
    .login-actions { align-items: flex-start; }
    .login-register-prompt { white-space: normal; }
    .menu-cover { margin: 0 10px; }
    .menu-cover { height: 255px; border-radius: 10px; }
    .menu-identity { padding-inline-start: 95px; padding-inline-end: 75px; }
    .menu-logo { right: 15px; width: 76px; height: 76px; }
    .public-product { grid-template-columns: 1fr 88px; }
    .public-product img { width: 88px; height: 82px; }
    .item-style-grid .public-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .item-style-grid .public-product-image, .item-style-grid .public-product img { width: 100%; height: 115px; }
    .category-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .media-remove-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-modal-card { max-height: 92vh; border-radius: 23px 23px 0 0; }
    .product-modal-image { height: 210px; }
    .modal-cart-bar { grid-template-columns: 1fr; }
    .modal-quantity { justify-content: center; }
    .order-success-modal { padding: 8px; }
    .order-success-actions { flex-direction: column; }
    .menu-sheet-panel { padding: 18px 15px 24px; }
    .account-page { padding: 0 14px; }
    .account-page::before { left: -120px; width: 330px; opacity: .75; }
    .account-card { padding: 82px 8px 35px; }
    .account-back { top: 20px; right: 8px; }
    .landing-container { width: min(100% - 28px, 1180px); }
    .landing-links a:not(.btn) { display: none; }
    .landing-nav { height: 65px; }
    .hero-grid { min-height: 760px; gap: 0; }
    .hero-copy h1 { font-size: 45px; }
    .hero-art { min-height: 380px; }
    .hero-blob { width: 330px; height: 360px; }
    .hero-phone { width: 230px; }
    .feature-section, .landing-pricing { padding: 70px 0; }
    .feature-row { gap: 35px; }
    .feature-copy h2, .section-head h2 { font-size: 33px; }
}

@media print {
    .admin-sidebar, .topbar, .page-actions, .filters, .admin-footer, .btn, .sidebar-backdrop, .order-preview-backdrop, .admin-floating-tools { display: none !important; }
    .admin-shell { margin: 0; }
    .page-wrap { width: 100%; padding: 0; }
    .card { box-shadow: none; break-inside: avoid; }
    body { background: #fff; }
    .order-preview { position: static; pointer-events: auto; }
    .order-preview-panel { position: static; width: 100%; padding: 0; overflow: visible; transform: none; box-shadow: none; }
}


/* MENUX_REFERENCE_PARITY_START */
.menu-body {
    background: #efefef;
    line-height: 1.55;
}
.menu-shell {
    width: min(480px, 100%);
    box-shadow: 0 0 28px rgba(18, 28, 26, .08);
}
.menu-topbar {
    height: 42px;
    padding: 5px 12px;
}
.menu-top-group { gap: 4px; }
.menu-icon-action {
    width: 27px;
    height: 27px;
    color: #3f4543;
}
.language-action {
    min-width: 24px;
    height: 24px;
    border-radius: 4px;
    font-size: 8px;
}
.order-type-trigger {
    min-height: 28px;
    gap: 4px;
    font-size: 10px;
}
.order-type-symbol {
    width: 24px;
    height: 24px;
    font-size: 15px;
}
.menu-search-panel {
    margin: 0 12px 8px;
    min-height: 40px;
}
.menu-promotions { margin: 10px 12px; }
.menu-cover {
    height: 215px;
    margin: 0 10px;
    border-radius: 8px;
}
.menu-identity {
    min-height: 70px;
    padding: 12px;
    padding-inline-start: 82px;
    padding-inline-end: 72px;
}
.menu-logo {
    right: 14px;
    top: -24px;
    width: 64px;
    height: 64px;
    border-width: 3px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,.14);
}
.menu-identity h1 {
    font-size: 17px;
    line-height: 1.35;
}
.menu-identity p {
    margin-top: 1px;
    font-size: 10px;
}
.open-pill {
    left: 12px;
    bottom: 14px;
    padding: 3px 8px;
    font-size: 8px;
}
.category-strip {
    top: 0;
    padding: 8px 10px;
    gap: 5px;
    border-bottom-color: #ededed;
}
.category-pill {
    padding: 5px 10px;
    font-size: 9px;
    font-weight: 600;
}
.menu-content { padding: 2px 12px 92px; }
.menu-category {
    padding-top: 13px;
    scroll-margin-top: 48px;
}
.menu-category h2 {
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: 700;
}
.public-product {
    min-height: 88px;
    padding: 9px 0;
    grid-template-columns: 1fr 72px;
    gap: 11px;
    border-bottom-color: #ececec;
}
.public-product h3 {
    margin-bottom: 2px;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
}
.public-product p {
    margin-bottom: 5px;
    font-size: 9px;
    line-height: 1.55;
}
.public-product img {
    width: 72px;
    height: 68px;
    border-radius: 8px;
}
.public-price {
    gap: 5px;
    font-size: 10px;
}
.old-price { font-size: 8px; }
.save-price { font-size: 8px; }
.product-badges {
    margin-bottom: 3px;
    gap: 3px;
}
.product-badges span {
    padding: 1px 5px;
    font-size: 7px;
}
.public-product-image i {
    left: -4px;
    bottom: -4px;
    width: 22px;
    height: 22px;
    border-width: 2px;
    font-size: 15px;
}
.cart-fab {
    width: min(456px, calc(100% - 24px));
    min-height: 52px;
    bottom: 12px;
    border-radius: 10px;
}
.menu-about { padding: 22px 14px; }
.platform-promo { margin: 12px 12px 0; }
.platform-credit { padding: 14px; }

.menu-reference-sheet {
    align-items: start;
    justify-items: center;
}
.menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(0, 0, 0, .32);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.menu-reference-panel {
    width: min(480px, 100%);
    max-height: min(80vh, 690px);
    margin: 0 auto;
    padding: 0;
    overflow: hidden auto;
    border-radius: 0 0 10px 10px;
    transform: translateY(-104%);
    box-shadow: 0 18px 38px rgba(0,0,0,.22);
}
.menu-reference-sheet.open .menu-reference-panel { transform: translateY(0); }
.menu-reference-links { display: grid; background: #fff; }
.menu-reference-link {
    width: 100%;
    min-height: 32px;
    padding: 4px 12px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 12px;
    align-items: center;
    gap: 6px;
    color: #242927;
    text-align: right;
    border: 0;
    border-bottom: 1px solid #ededed;
    background: #fff;
    font-size: 9px;
    font-weight: 600;
}
.menu-reference-link:hover,
.menu-reference-link.active { background: #fafafa; }
.menu-reference-icon {
    width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    color: #525755;
}
.menu-reference-link i {
    color: #8b8f8e;
    font-size: 13px;
    font-style: normal;
    text-align: left;
}
.menu-reference-detail {
    padding: 13px 15px;
    border-bottom: 1px solid #ececec;
    background: #fafafa;
}
.menu-reference-detail h3 {
    margin: 0 0 7px;
    font-size: 11px;
}
.menu-reference-detail p {
    margin: 0;
    color: #6f7573;
    font-size: 9px;
    line-height: 1.7;
}
.menu-reference-detail .public-hours { gap: 4px; }
.menu-reference-detail .public-hours div { font-size: 9px; }
.menu-reference-social {
    min-height: 34px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #fff;
    background: #050505;
    border-radius: 0 0 10px 10px;
}
.menu-reference-social a,
.menu-reference-social button {
    width: 21px;
    height: 21px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #fff;
    border: 0;
    background: transparent;
    font-size: 9px;
    font-weight: 700;
}
.menu-reference-social .icon { width: 14px; height: 14px; }

.item-style-grid .public-product {
    min-height: 0;
    border-radius: 10px;
}
.item-style-grid .public-product-info { padding: 9px; }
.item-style-grid .public-product-image,
.item-style-grid .public-product img { height: 105px; }

@media (max-width: 520px) {
    .menu-shell { box-shadow: none; }
    .menu-cover { height: min(45vw, 205px); }
    .menu-reference-panel { width: 100%; }
}
/* MENUX_REFERENCE_PARITY_END */

/* MENUFLOW_MARKETING_V2_START */
.landing-v2 {
    --mf-brand: #07594f;
    --mf-brand-deep: #064a43;
    --mf-brand-soft: #e8f3f1;
    --mf-accent: #f27343;
    --mf-accent-dark: #e55f2d;
    --mf-ink: #13221f;
    --mf-muted: #697773;
    --mf-line: #e7ecea;
    --mf-alt: #f5f7f6;
    --mf-card: #ffffff;
    min-width: 320px;
    overflow-x: hidden;
    background: #fff;
    color: var(--mf-ink);
}
.landing-v2 .mf-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}
.landing-v2 .mf-button {
    position: relative;
    min-height: 44px;
    padding: 10px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.landing-v2 .mf-button:hover { transform: translateY(-2px); }
.landing-v2 .mf-button-accent {
    color: #fff;
    background: var(--mf-accent);
    box-shadow: 0 10px 22px rgba(242, 115, 67, .2);
}
.landing-v2 .mf-button-accent:hover { background: var(--mf-accent-dark); box-shadow: 0 14px 28px rgba(242, 115, 67, .28); }
.landing-v2 .mf-button-outline {
    color: #fff;
    border-color: rgba(255, 255, 255, .38);
    background: transparent;
}
.landing-v2 .mf-button-outline:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.landing-v2 .mf-shine-button::after {
    content: "";
    position: absolute;
    top: -80%;
    bottom: -80%;
    left: -45%;
    width: 25%;
    opacity: .75;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    transform: rotate(18deg);
    animation: mf-button-shine 3.4s ease-in-out infinite;
}
@keyframes mf-button-shine {
    0%, 58% { left: -45%; }
    82%, 100% { left: 125%; }
}

/* Header and navigation */
.landing-v2 .mf-site-header { position: relative; z-index: 40; color: #fff; }
.landing-v2 .mf-nav-shell {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.landing-v2 .mf-brand {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    direction: ltr;
}
.landing-v2 .mf-brand-word {
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.8px;
    line-height: 1;
}
.landing-v2 .mf-brand-word span { color: #c7e5e0; }
.landing-v2 .mf-brand-mark {
    width: 12px;
    height: 23px;
    display: inline-block;
    border-radius: 3px 8px 3px 3px;
    background: #fff;
    transform: skewY(8deg);
}
.landing-v2 .mf-nav {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.landing-v2 .mf-nav-links,
.landing-v2 .mf-nav-actions { display: flex; align-items: center; gap: 20px; }
.landing-v2 .mf-nav-links a,
.landing-v2 .mf-login-link {
    position: relative;
    color: rgba(255,255,255,.86);
    font-size: 12px;
    font-weight: 600;
    transition: color .18s ease;
}
.landing-v2 .mf-nav-links a:hover,
.landing-v2 .mf-nav-links a.active,
.landing-v2 .mf-login-link:hover { color: #fff; }
.landing-v2 .mf-nav-links a.active::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: -8px;
    height: 2px;
    border-radius: 999px;
    background: var(--mf-accent);
}
.landing-v2 .mf-nav-cta { min-height: 36px; padding: 8px 14px; font-size: 11px; }
.landing-v2 .mf-language { position: relative; }
.landing-v2 .mf-language-trigger {
    min-height: 34px;
    padding: 6px 9px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #fff;
    border: 0;
    border-radius: 7px;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
}
.landing-v2 .mf-language-trigger:hover,
.landing-v2 .mf-language.open .mf-language-trigger { background: rgba(255,255,255,.09); }
.landing-v2 .mf-language-trigger svg { width: 14px; height: 14px; transition: transform .2s; }
.landing-v2 .mf-language.open .mf-language-trigger svg { transform: rotate(180deg); }
.landing-v2 .mf-flag-emoji { width: 22px; display: inline-grid; place-items: center; font-size: 16px; line-height: 1; }
.landing-v2 .mf-kurdistan-flag {
    position: relative;
    width: 22px;
    height: 15px;
    flex: 0 0 auto;
    overflow: hidden;
    display: inline-block;
    border-radius: 2px;
    background: linear-gradient(to bottom, #e1282f 0 33.33%, #fff 33.33% 66.66%, #278443 66.66%);
    box-shadow: 0 0 0 1px rgba(0,0,0,.08);
}
.landing-v2 .mf-kurdistan-flag i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f4c430;
    transform: translate(-50%, -50%);
}
.landing-v2 .mf-language-menu {
    position: absolute;
    z-index: 80;
    top: calc(100% + 10px);
    inset-inline-start: 0;
    width: 205px;
    padding: 7px;
    display: grid;
    gap: 2px;
    visibility: hidden;
    opacity: 0;
    color: var(--mf-ink);
    border: 1px solid var(--mf-line);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(9, 44, 40, .2);
    transform: translateY(-8px);
    transition: .2s ease;
}
.landing-v2 .mf-language.open .mf-language-menu { visibility: visible; opacity: 1; transform: none; }
.landing-v2 .mf-language-menu a {
    min-height: 39px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 8px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
}
.landing-v2 .mf-language-menu a:hover,
.landing-v2 .mf-language-menu a.active { color: var(--mf-brand); background: var(--mf-brand-soft); }
.landing-v2 .mf-language-menu small { direction: ltr; color: #9aa4a1; font-size: 9px; }
.landing-v2 .mf-mobile-toggle {
    width: 40px;
    height: 40px;
    padding: 8px;
    display: none;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 8px;
    background: rgba(255,255,255,.05);
}
.landing-v2 .mf-mobile-toggle span { width: 20px; height: 2px; display: block; border-radius: 3px; background: #fff; transition: .2s; }

/* Hero */
.landing-v2 .mf-hero {
    min-height: 650px;
    overflow: hidden;
    color: #fff;
    background: var(--mf-brand);
}
.landing-v2 .mf-hero-grid {
    min-height: 570px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
    align-items: center;
    gap: 60px;
}
.landing-v2 .mf-hero-copy { max-width: 610px; padding-bottom: 35px; }
.landing-v2 .mf-eyebrow {
    display: inline-block;
    color: #bfe1dc;
    font-size: 15px;
    font-weight: 600;
}
.landing-v2 .mf-hero-copy h1 {
    max-width: 650px;
    margin: 12px 0 18px;
    font-size: clamp(42px, 5.7vw, 72px);
    line-height: 1.12;
    letter-spacing: -2px;
}
.landing-v2 .mf-hero-copy p {
    max-width: 590px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 15px;
    line-height: 1.95;
}
.landing-v2 .mf-hero-actions { margin-top: 27px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.landing-v2 .mf-hero-visual {
    position: relative;
    min-height: 550px;
    display: grid;
    place-items: end center;
    isolation: isolate;
}
.landing-v2 .mf-hero-shape {
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 50%;
    width: 420px;
    height: 475px;
    border-radius: 48% 52% 4px 4px / 37% 41% 4px 4px;
    background: var(--mf-accent);
    transform: translateX(-50%) rotate(-3deg);
}
.landing-v2 .mf-hero-device {
    position: relative;
    width: 325px;
    margin-bottom: 48px;
    padding: 11px;
    border: 9px solid #101918;
    border-radius: 36px;
    background: #101918;
    box-shadow: 0 34px 70px rgba(0,0,0,.28);
    transform: rotate(4deg);
}
.landing-v2 .mf-device-top { height: 15px; display: flex; align-items: center; justify-content: center; gap: 6px; }
.landing-v2 .mf-device-top span { width: 48px; height: 5px; border-radius: 20px; background: #39403f; }
.landing-v2 .mf-device-top i { width: 6px; height: 6px; border-radius: 50%; background: #39403f; }
.landing-v2 .mf-device-screen { min-height: 335px; padding: 9px; overflow: hidden; color: var(--mf-ink); border-radius: 20px; background: #fff; }
.landing-v2 .mf-demo-cover {
    height: 125px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    border-radius: 15px;
    background: linear-gradient(135deg, #084c44 0 62%, #a25936 62%);
}
.landing-v2 .mf-demo-cover span { font-size: 9px; opacity: .75; }
.landing-v2 .mf-demo-cover b { margin-top: 8px; font-size: 18px; }
.landing-v2 .mf-demo-brand { margin-top: 10px; display: flex; align-items: center; gap: 9px; }
.landing-v2 .mf-demo-brand img { width: 40px; height: 40px; padding: 5px; object-fit: contain; border-radius: 10px; background: #edf4f2; }
.landing-v2 .mf-demo-brand div { display: grid; }
.landing-v2 .mf-demo-brand strong { font-size: 11px; }
.landing-v2 .mf-demo-brand small { color: #8b9693; font-size: 8px; }
.landing-v2 .mf-demo-pills { margin-top: 10px; display: flex; gap: 5px; overflow: hidden; }
.landing-v2 .mf-demo-pills span { padding: 4px 8px; flex: 0 0 auto; border-radius: 999px; color: #6c7774; background: #f1f4f3; font-size: 7px; }
.landing-v2 .mf-demo-pills .active { color: #fff; background: var(--mf-brand); }
.landing-v2 .mf-demo-products { margin-top: 9px; display: grid; gap: 6px; }
.landing-v2 .mf-demo-products > div { min-height: 48px; padding: 5px; display: flex; align-items: center; gap: 8px; border: 1px solid #eef1f0; border-radius: 8px; }
.landing-v2 .mf-demo-products img { width: 39px; height: 39px; object-fit: cover; border-radius: 7px; }
.landing-v2 .mf-demo-products span { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.landing-v2 .mf-demo-products b { font-size: 8px; }
.landing-v2 .mf-demo-products small { color: var(--mf-brand); font-size: 8px; font-weight: 700; }
.landing-v2 .mf-hero-qr {
    position: absolute;
    z-index: 3;
    right: 2%;
    bottom: 112px;
    width: 98px;
    height: 112px;
    padding: 12px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 12px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 32px rgba(0,0,0,.16);
    transform: rotate(-6deg);
}
.landing-v2 .mf-hero-qr svg { width: 74px; fill: #192320; }

/* Client slider */
.landing-v2 .mf-clients { padding: 48px 0 40px; overflow: hidden; background: #fff; }
.landing-v2 .mf-clients h2 { margin: 0 0 28px; text-align: center; font-size: 19px; font-weight: 700; }
.landing-v2 .mf-client-slider {
    position: relative;
    width: min(100%, 1320px);
    margin: auto;
    overflow: hidden;
    direction: ltr;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.landing-v2 .mf-client-track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 24px;
    animation: mf-client-scroll 38s linear infinite;
}
.landing-v2 .mf-client-slider:hover .mf-client-track { animation-play-state: paused; }
@keyframes mf-client-scroll { to { transform: translateX(-50%); } }
.landing-v2 .mf-client-logo {
    position: relative;
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    padding: 10px;
    display: grid;
    place-items: center;
    border: 1px solid #eef1f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(19, 45, 41, .05);
    transition: transform .2s, box-shadow .2s;
}
.landing-v2 .mf-client-logo:hover { transform: translateY(-5px); box-shadow: 0 16px 30px rgba(19,45,41,.12); }
.landing-v2 .mf-client-logo img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; }
.landing-v2 .mf-client-flag {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #fff;
    font-size: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,.14);
}

/* Feature sections */
.landing-v2 .mf-feature-section { padding: 105px 0; background: #fff; }
.landing-v2 .mf-feature-section.mf-feature-alt { background: var(--mf-alt); }
.landing-v2 .mf-feature-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 90px;
}
.landing-v2 .mf-feature-copy { max-width: 540px; }
.landing-v2 .mf-section-label { color: var(--mf-brand); font-size: 14px; font-weight: 600; }
.landing-v2 .mf-feature-copy h2 {
    margin: 9px 0 18px;
    font-size: clamp(34px, 4.3vw, 54px);
    line-height: 1.25;
    letter-spacing: -1.4px;
}
.landing-v2 .mf-feature-copy p { margin: 0; color: var(--mf-muted); font-size: 15px; line-height: 2; }
.landing-v2 .mf-feature-visual {
    position: relative;
    min-height: 395px;
    padding: 40px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    background: linear-gradient(145deg, #edf3f2, #f9fbfa);
}
.landing-v2 .mf-feature-alt .mf-feature-visual { background: linear-gradient(145deg, #fff, #f0f4f3); }
.landing-v2 .mf-ui-window {
    width: min(440px, 100%);
    padding: 13px;
    border: 1px solid #e3e9e7;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 22px 48px rgba(22,51,47,.12);
    transform: rotate(-1.5deg);
}
.landing-v2 .mf-ui-cover { height: 135px; padding: 24px; display: flex; flex-direction: column; justify-content: center; color: #fff; border-radius: 10px; background: linear-gradient(115deg, #ffca17 0 48%, #f32749 48%); }
.landing-v2 .mf-ui-cover span { font-size: 40px; font-weight: 800; line-height: 1; }
.landing-v2 .mf-ui-cover b { margin-top: 4px; font-size: 15px; }
.landing-v2 .mf-ui-toolbar { margin: 12px 0; display: flex; gap: 7px; }
.landing-v2 .mf-ui-toolbar span { width: 32px; height: 7px; border-radius: 10px; background: #e9eeec; }
.landing-v2 .mf-ui-form { padding: 12px; display: grid; grid-template-columns: 1fr 110px; align-items: center; gap: 12px; border-radius: 9px; background: #f7f9f8; }
.landing-v2 .mf-ui-form > div:first-child { display: grid; gap: 5px; }
.landing-v2 .mf-ui-form small { color: #9aa4a1; font-size: 8px; }
.landing-v2 .mf-ui-form strong { padding: 8px; border: 1px solid #e6ebe9; border-radius: 6px; background: #fff; font-size: 10px; }
.landing-v2 .mf-color-line { display: flex; gap: 7px; }
.landing-v2 .mf-color-line i { width: 27px; height: 27px; border-radius: 7px; background: var(--mf-brand); }
.landing-v2 .mf-color-line i:nth-child(2) { background: var(--mf-accent); }
.landing-v2 .mf-color-line i:nth-child(3) { background: #f3c64f; }
.landing-v2 .mf-floating-panel { position: absolute; border: 1px solid #e2e8e6; border-radius: 10px; background: #fff; box-shadow: 0 15px 35px rgba(16,46,42,.14); }
.landing-v2 .mf-floating-languages { right: 13px; bottom: 25px; padding: 8px 10px; display: flex; align-items: center; gap: 7px; }
.landing-v2 .mf-floating-languages > span:not(.mf-kurdistan-flag) { font-size: 17px; }

.landing-v2 .mf-catalog-table { width: min(430px, 100%); overflow: hidden; border: 1px solid #e0e7e5; border-radius: 13px; background: #fff; box-shadow: 0 20px 45px rgba(18,48,44,.1); transform: rotate(1.5deg); }
.landing-v2 .mf-table-head,
.landing-v2 .mf-table-row { padding: 12px 15px; display: grid; grid-template-columns: 1fr 75px 30px; align-items: center; gap: 12px; border-bottom: 1px solid #edf0ef; font-size: 10px; }
.landing-v2 .mf-table-head { color: #8d9895; background: #f7f9f8; font-size: 8px; }
.landing-v2 .mf-table-row:last-child { border-bottom: 0; }
.landing-v2 .mf-table-row i { width: 20px; height: 20px; display: grid; place-items: center; color: #22a372; border-radius: 50%; background: #e7f7f1; font-style: normal; }
.landing-v2 .mf-product-float { position: absolute; width: 150px; padding: 8px; display: flex; align-items: center; gap: 8px; border: 1px solid #e3e9e7; border-radius: 11px; background: #fff; box-shadow: 0 18px 35px rgba(18,48,44,.15); }
.landing-v2 .mf-product-float img { width: 45px; height: 45px; object-fit: cover; border-radius: 8px; }
.landing-v2 .mf-product-float span { display: grid; color: #697572; font-size: 8px; }
.landing-v2 .mf-product-float b { color: var(--mf-accent); font-size: 10px; }
.landing-v2 .mf-product-float-one { top: 34px; right: 10px; transform: rotate(-4deg); }
.landing-v2 .mf-product-float-two { bottom: 27px; left: 15px; transform: rotate(4deg); }

.landing-v2 .mf-order-list { width: min(450px, 100%); overflow: hidden; border: 1px solid #e1e8e5; border-radius: 14px; background: #fff; box-shadow: 0 20px 45px rgba(18,48,44,.11); transform: rotate(-1deg); }
.landing-v2 .mf-order-row { min-height: 60px; padding: 12px 15px; display: grid; grid-template-columns: 90px 1fr 45px; align-items: center; gap: 12px; border-bottom: 1px solid #edf0ef; font-size: 10px; direction: ltr; }
.landing-v2 .mf-order-row:last-child { border-bottom: 0; }
.landing-v2 .mf-order-row strong { color: #34423e; }
.landing-v2 .mf-order-row small { color: var(--mf-brand); font-size: 11px; font-weight: 700; }
.landing-v2 .mf-order-row .status { padding: 5px 8px; text-align: center; border-radius: 999px; font-size: 8px; }
.landing-v2 .mf-order-row .new { color: #d97b17; background: #fff3df; }
.landing-v2 .mf-order-row .preparing { color: #347fbb; background: #e8f4fc; }
.landing-v2 .mf-order-row .done { color: #1d966b; background: #e5f7f0; }
.landing-v2 .mf-order-detail { position: absolute; right: 20px; bottom: 23px; width: 250px; padding: 11px; display: grid; grid-template-columns: 52px 1fr 34px; align-items: center; gap: 10px; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px rgba(17,47,43,.16); transform: rotate(3deg); }
.landing-v2 .mf-order-detail img { width: 52px; height: 52px; object-fit: cover; border-radius: 9px; }
.landing-v2 .mf-order-detail div { display: grid; gap: 4px; }
.landing-v2 .mf-order-detail b { font-size: 9px; }
.landing-v2 .mf-order-detail small { color: #929c99; font-size: 7px; }
.landing-v2 .mf-order-detail > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: var(--mf-accent); }

.landing-v2 .mf-stat-banner { width: min(450px, 100%); padding: 19px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border: 1px solid #e0e7e5; border-radius: 13px; background: #fff; box-shadow: 0 20px 45px rgba(18,48,44,.11); transform: rotate(-1deg); }
.landing-v2 .mf-stat-banner > div { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 3px 10px; }
.landing-v2 .mf-stat-banner small { grid-column: span 2; color: #9ba5a2; font-size: 8px; }
.landing-v2 .mf-stat-banner strong { font-size: 23px; }
.landing-v2 .mf-stat-banner span { color: #20aa73; font-size: 9px; font-weight: 700; }
.landing-v2 .mf-stat-list { position: absolute; left: 34px; bottom: 24px; width: 235px; padding: 15px; display: grid; gap: 9px; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px rgba(17,47,43,.14); transform: rotate(2deg); }
.landing-v2 .mf-stat-list > b { font-size: 10px; }
.landing-v2 .mf-stat-list > span { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 7px; color: #687571; font-size: 8px; }
.landing-v2 .mf-stat-list img { width: 28px; height: 28px; border-radius: 6px; object-fit: cover; }
.landing-v2 .mf-stat-list em { color: var(--mf-brand); font-style: normal; font-weight: 700; }
.landing-v2 .mf-stat-popover { position: absolute; right: 22px; bottom: 70px; width: 120px; padding: 12px; display: grid; gap: 3px; border-radius: 10px; background: #fff; box-shadow: 0 16px 35px rgba(17,47,43,.17); }
.landing-v2 .mf-stat-popover small { color: #9ba5a2; font-size: 7px; }
.landing-v2 .mf-stat-popover strong { font-size: 20px; }
.landing-v2 .mf-stat-popover span { color: #20aa73; font-size: 8px; }

.landing-v2 .mf-qr-visual { grid-template-columns: 120px 230px; align-content: center; gap: 17px; }
.landing-v2 .mf-phone-mini { width: 120px; height: 260px; padding: 8px; display: grid; align-content: start; gap: 8px; overflow: hidden; border: 7px solid #131a19; border-radius: 24px; background: #fff; box-shadow: 0 22px 45px rgba(18,48,44,.15); transform: rotate(-5deg) translateY(35px); }
.landing-v2 .mf-phone-mini > div { height: 65px; border-radius: 8px; background: linear-gradient(135deg, var(--mf-brand) 65%, var(--mf-accent) 65%); }
.landing-v2 .mf-phone-mini img { width: 100%; height: 49px; object-fit: cover; border-radius: 7px; }
.landing-v2 .mf-qr-card { width: 230px; padding: 18px; display: grid; place-items: center; gap: 10px; text-align: center; border: 1px solid #e1e7e5; border-radius: 13px; background: #fff; box-shadow: 0 20px 45px rgba(18,48,44,.12); }
.landing-v2 .mf-qr-card p { margin: 0; font-size: 10px; font-weight: 700; }
.landing-v2 .mf-qr-card svg { width: 120px; fill: #111; }
.landing-v2 .mf-qr-card small { color: #8e9996; font-size: 8px; }
.landing-v2 .mf-link-card { position: absolute; right: 118px; bottom: 22px; width: 315px; padding: 9px 11px; display: flex; align-items: center; gap: 5px; direction: ltr; border: 1px solid #e2e8e6; border-radius: 9px; background: #fff; box-shadow: 0 14px 30px rgba(18,48,44,.13); font-size: 8px; }
.landing-v2 .mf-link-card span { color: #9aa4a1; }
.landing-v2 .mf-link-card b { flex: 1; color: var(--mf-brand); }
.landing-v2 .mf-link-card button { padding: 5px 8px; color: #fff; border: 0; border-radius: 5px; background: var(--mf-brand); font-size: 7px; }

/* Pricing */
.landing-v2 .mf-pricing { padding: 100px 0 105px; background: #fff; scroll-margin-top: 20px; }
.landing-v2 .mf-section-heading { max-width: 720px; margin: 0 auto 22px; text-align: center; }
.landing-v2 .mf-section-heading p { margin: 0 0 7px; color: var(--mf-brand); font-size: 15px; font-weight: 600; }
.landing-v2 .mf-section-heading h2 { margin: 0; font-size: 42px; line-height: 1.2; }
.landing-v2 .mf-section-heading > span { margin-top: 8px; display: block; color: var(--mf-muted); font-size: 13px; }
.landing-v2 .mf-billing-toggle { width: max-content; margin: 24px auto 34px; padding: 4px; display: flex; gap: 3px; border: 1px solid var(--mf-line); border-radius: 8px; background: #fff; }
.landing-v2 .mf-billing-toggle button { min-width: 92px; min-height: 34px; padding: 6px 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: #67736f; border: 0; border-radius: 6px; background: transparent; font-size: 11px; font-weight: 600; }
.landing-v2 .mf-billing-toggle button.active { color: var(--mf-brand); background: var(--mf-brand-soft); }
.landing-v2 .mf-billing-toggle small { padding: 2px 6px; color: var(--mf-brand); border-radius: 999px; background: #d2eee8; font-size: 7px; }
.landing-v2 .mf-plans-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; direction: rtl; }
.landing-v2[dir="ltr"] .mf-plans-grid { direction: ltr; }
.landing-v2 .mf-plan-card {
    position: relative;
    min-width: 0;
    padding: 21px 16px 15px;
    display: flex;
    flex-direction: column;
    border: 1px solid #e3e8e6;
    border-radius: 9px;
    background: #fff;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.landing-v2 .mf-plan-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(20,52,48,.1); }
.landing-v2 .mf-plan-card.featured { border: 2px solid var(--mf-brand); box-shadow: 0 18px 38px rgba(7,89,79,.12); }
.landing-v2 .mf-plan-popular { position: absolute; top: 10px; inset-inline-start: 10px; padding: 4px 8px; color: var(--mf-brand); border-radius: 999px; background: #d8efe9; font-size: 8px; font-weight: 700; }
.landing-v2 .mf-plan-top { display: flex; flex-direction: column; align-items: center; text-align: center; }
.landing-v2 .mf-plan-icon { width: 37px; height: 37px; display: grid; place-items: center; color: var(--mf-brand); border-radius: 50%; background: var(--mf-brand-soft); }
.landing-v2 .mf-plan-icon svg { width: 20px; height: 20px; fill: currentColor; stroke: currentColor; stroke-width: 1.5; }
.landing-v2 .mf-plan-top h3 { margin: 10px 0 0; font-size: 15px; }
.landing-v2 .mf-plan-price { min-height: 48px; margin-top: 7px; display: flex; align-items: baseline; justify-content: center; gap: 3px; color: var(--mf-accent); text-align: center; direction: ltr; }
.landing-v2 .mf-plan-price strong { font-size: 29px; line-height: 1; }
.landing-v2 .mf-plan-price b { font-size: 14px; }
.landing-v2 .mf-plan-price small { color: #808b88; font-size: 8px; font-weight: 500; }
.landing-v2 .mf-plan-saving { min-height: 30px; margin: 0 0 12px; color: #8c9693; text-align: center; font-size: 8px; line-height: 1.5; }
.landing-v2 .mf-plan-saving.is-empty { opacity: 0; }
.landing-v2 .mf-plan-features { margin: 0; padding: 13px 0 0; display: grid; gap: 8px; border-top: 1px solid #edf0ef; list-style: none; font-size: 9px; line-height: 1.45; }
.landing-v2 .mf-plan-features li { min-height: 18px; display: flex; align-items: flex-start; gap: 7px; }
.landing-v2 .mf-plan-features li::before { content: "✓"; width: 16px; height: 16px; flex: 0 0 16px; display: grid; place-items: center; color: var(--mf-brand); border-radius: 50%; background: #dcefe9; font-size: 8px; font-weight: 800; }
.landing-v2 .mf-plan-features li.disabled { color: #a4aca9; }
.landing-v2 .mf-plan-features li.disabled::before { content: "×"; color: #8e9794; background: #eef1f0; }
.landing-v2 .mf-plan-features:not(.expanded) li.mf-plan-extra { display: none; }
.landing-v2 .mf-more-button { margin: 12px auto 14px; padding: 5px 9px; display: inline-flex; align-items: center; gap: 5px; color: var(--mf-brand); border: 1px solid #dfe7e4; border-radius: 999px; background: #fff; font-size: 8px; font-weight: 700; }
.landing-v2 .mf-more-button svg { width: 12px; height: 12px; transition: transform .2s; }
.landing-v2 .mf-more-button.expanded svg { transform: rotate(180deg); }
.landing-v2 .mf-plan-button { width: 100%; min-height: 40px; margin-top: auto; padding: 9px 10px; border-radius: 5px; font-size: 10px; }
.landing-v2 .mf-plan-trial { min-height: 27px; margin: 8px 0 0; color: #909a97; text-align: center; font-size: 7px; line-height: 1.5; }
.landing-v2 .mf-empty-state { grid-column: 1 / -1; text-align: center; color: var(--mf-muted); }

/* Final CTA and footer */
.landing-v2 .mf-final-cta { padding: 0 0 50px; background: #fff; }
.landing-v2 .mf-final-cta-card {
    min-height: 132px;
    padding: 28px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    color: #fff;
    border-radius: 20px;
    background: var(--mf-brand);
}
.landing-v2 .mf-final-cta-card h2 { margin: 0 0 5px; font-size: 30px; }
.landing-v2 .mf-final-cta-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; }
.landing-v2 .mf-final-cta-card .mf-button { flex: 0 0 auto; }
.landing-v2 .mf-footer { padding: 25px 0 35px; background: #fff; }
.landing-v2 .mf-footer-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.landing-v2 .mf-footer-brand .mf-brand-word { color: #111c1a; }
.landing-v2 .mf-footer-brand .mf-brand-word span { color: var(--mf-brand); }
.landing-v2 .mf-footer-brand .mf-brand-mark { background: var(--mf-brand); }
.landing-v2 .mf-social-links { display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--mf-accent); direction: ltr; }
.landing-v2 .mf-social-links a { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-size: 11px; font-weight: 700; transition: background .2s, color .2s; }
.landing-v2 .mf-social-links a:hover { color: #fff; background: var(--mf-accent); }
.landing-v2 .mf-footer p { margin: 0; color: #596662; font-size: 9px; text-align: end; }

/* Blog */
.landing-v2 .mf-blog-hero { color: #fff; background: var(--mf-brand); }
.landing-v2 .mf-blog-heading { min-height: 340px; padding: 80px 0 95px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.landing-v2 .mf-blog-heading h1 { margin: 9px 0 14px; font-size: clamp(42px, 7vw, 72px); line-height: 1.1; }
.landing-v2 .mf-blog-heading p { max-width: 650px; margin: 0; color: rgba(255,255,255,.74); font-size: 15px; }
.landing-v2 .mf-blog-main { padding: 85px 0 100px; }
.landing-v2 .mf-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.landing-v2 .mf-blog-card { overflow: hidden; border: 1px solid var(--mf-line); border-radius: 16px; background: #fff; box-shadow: 0 14px 35px rgba(18,48,44,.06); transition: transform .2s, box-shadow .2s; }
.landing-v2 .mf-blog-card:hover { transform: translateY(-6px); box-shadow: 0 22px 45px rgba(18,48,44,.12); }
.landing-v2 .mf-blog-card-visual { position: relative; height: 220px; padding: 18px; overflow: hidden; background: #edf3f2; }
.landing-v2 .mf-blog-card-visual > span { position: relative; z-index: 2; padding: 5px 9px; color: var(--mf-brand); border-radius: 999px; background: rgba(255,255,255,.86); font-size: 9px; font-weight: 700; }
.landing-v2 .mf-blog-visual-2 { background: #fff0e8; }
.landing-v2 .mf-blog-visual-3 { background: #e9f4f2; }
.landing-v2 .mf-blog-menu-card { position: absolute; right: 50%; bottom: 25px; width: 220px; padding: 18px; display: grid; gap: 10px; border-radius: 15px; background: #fff; box-shadow: 0 20px 40px rgba(18,48,44,.15); transform: translateX(50%) rotate(-4deg); }
.landing-v2 .mf-blog-menu-card i { height: 28px; border-radius: 8px; background: linear-gradient(90deg, var(--mf-brand) 0 28%, #edf1f0 28%); }
.landing-v2 .mf-blog-chart { position: absolute; right: 50%; bottom: 25px; width: 230px; height: 130px; padding: 20px; display: flex; align-items: end; justify-content: space-around; gap: 10px; border-radius: 15px; background: #fff; box-shadow: 0 20px 40px rgba(18,48,44,.15); transform: translateX(50%) rotate(3deg); }
.landing-v2 .mf-blog-chart i { width: 28px; border-radius: 7px 7px 2px 2px; background: var(--mf-brand); }
.landing-v2 .mf-blog-chart i:nth-child(1) { height: 45%; }.landing-v2 .mf-blog-chart i:nth-child(2) { height: 75%; }.landing-v2 .mf-blog-chart i:nth-child(3) { height: 58%; }.landing-v2 .mf-blog-chart i:nth-child(4) { height: 92%; background: var(--mf-accent); }
.landing-v2 .mf-blog-qr { position: absolute; right: 50%; bottom: 25px; width: 170px; height: 145px; display: grid; place-items: center; border-radius: 15px; background: #fff; box-shadow: 0 20px 40px rgba(18,48,44,.15); transform: translateX(50%) rotate(-3deg); }
.landing-v2 .mf-blog-qr b { font-size: 44px; letter-spacing: 5px; }.landing-v2 .mf-blog-qr i { width: 100px; height: 7px; border-radius: 5px; background: var(--mf-accent); }
.landing-v2 .mf-blog-card-body { padding: 22px; }
.landing-v2 .mf-blog-card-body > span { color: var(--mf-accent); font-size: 10px; font-weight: 700; }
.landing-v2 .mf-blog-card-body h2 { margin: 7px 0 10px; font-size: 21px; line-height: 1.45; }
.landing-v2 .mf-blog-card-body p { margin: 0 0 18px; color: var(--mf-muted); font-size: 12px; line-height: 1.8; }
.landing-v2 .mf-blog-card-body a { color: var(--mf-brand); font-size: 11px; font-weight: 700; }
.landing-v2 .mf-blog-card-body a b { display: inline-block; margin-inline-start: 4px; transition: transform .2s; }
.landing-v2 .mf-blog-card-body a:hover b { transform: translateX(-4px); }
.landing-v2 .mf-blog-cta { padding-top: 10px; }

/* Reveal animation */
.mf-js .landing-v2 [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.mf-js .landing-v2 [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
    .landing-v2 .mf-nav-links { gap: 13px; }
    .landing-v2 .mf-nav-actions { gap: 11px; }
    .landing-v2 .mf-language-trigger > span:nth-child(2) { display: none; }
    .landing-v2 .mf-hero-grid { grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: 35px; }
    .landing-v2 .mf-hero-copy h1 { font-size: 53px; }
    .landing-v2 .mf-feature-grid { gap: 55px; }
    .landing-v2 .mf-plans-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .landing-v2 .mf-plan-card { min-height: 0; }
}

@media (max-width: 820px) {
    .landing-v2 .mf-mobile-toggle { display: grid; gap: 4px; }
    .landing-v2 .mf-nav-shell { position: relative; min-height: 68px; }
    .landing-v2 .mf-nav {
        position: absolute;
        z-index: 60;
        top: 62px;
        right: 0;
        left: 0;
        padding: 15px;
        display: grid;
        visibility: hidden;
        opacity: 0;
        color: var(--mf-ink);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 24px 55px rgba(0,0,0,.2);
        transform: translateY(-10px);
        transition: .2s ease;
    }
    .landing-v2 .mf-nav.open { visibility: visible; opacity: 1; transform: none; }
    .landing-v2 .mf-nav-links,
    .landing-v2 .mf-nav-actions { display: grid; gap: 3px; }
    .landing-v2 .mf-nav-links a,
    .landing-v2 .mf-login-link { min-height: 40px; padding: 10px; color: var(--mf-ink); border-radius: 7px; }
    .landing-v2 .mf-nav-links a:hover,
    .landing-v2 .mf-nav-links a.active,
    .landing-v2 .mf-login-link:hover { color: var(--mf-brand); background: var(--mf-brand-soft); }
    .landing-v2 .mf-nav-links a.active::after { display: none; }
    .landing-v2 .mf-nav-actions { padding-top: 8px; border-top: 1px solid var(--mf-line); }
    .landing-v2 .mf-language-trigger { width: 100%; justify-content: flex-start; color: var(--mf-ink); }
    .landing-v2 .mf-language-trigger > span:nth-child(2) { display: inline; }
    .landing-v2 .mf-language-trigger svg { margin-inline-start: auto; }
    .landing-v2 .mf-language-menu { position: static; width: 100%; max-height: 0; padding: 0; overflow: hidden; visibility: visible; opacity: 1; border: 0; box-shadow: none; transform: none; transition: max-height .25s; }
    .landing-v2 .mf-language.open .mf-language-menu { max-height: 260px; padding: 6px; }
    .landing-v2 .mf-nav-cta { width: 100%; margin-top: 5px; }
    .landing-v2 .mf-hero-grid { min-height: auto; padding: 65px 0 0; grid-template-columns: 1fr; gap: 15px; text-align: center; }
    .landing-v2 .mf-hero-copy { max-width: 680px; margin: auto; padding-bottom: 10px; }
    .landing-v2 .mf-hero-copy p { margin-inline: auto; }
    .landing-v2 .mf-hero-actions { justify-content: center; }
    .landing-v2 .mf-hero-visual { min-height: 480px; }
    .landing-v2 .mf-hero-qr { right: calc(50% - 195px); }
    .landing-v2 .mf-feature-section { padding: 78px 0; }
    .landing-v2 .mf-feature-grid,
    .landing-v2 .mf-feature-reverse { grid-template-columns: 1fr; gap: 38px; }
    .landing-v2 .mf-feature-copy { max-width: 650px; margin-inline: auto; text-align: center; }
    .landing-v2 .mf-feature-copy:first-child { order: 1; }
    .landing-v2 .mf-feature-visual { order: 2; width: min(620px,100%); margin-inline: auto; }
    .landing-v2 .mf-feature-grid:not(.mf-feature-reverse) .mf-feature-visual { order: 2; }
    .landing-v2 .mf-feature-grid:not(.mf-feature-reverse) .mf-feature-copy { order: 1; }
    .landing-v2 .mf-blog-grid { grid-template-columns: 1fr; max-width: 620px; }
    .landing-v2 .mf-footer-row { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .landing-v2 .mf-footer p { text-align: center; }
}

@media (max-width: 600px) {
    .landing-v2 .mf-container { width: min(100% - 28px, 1180px); }
    .landing-v2 .mf-brand-word { font-size: 21px; }
    .landing-v2 .mf-hero { min-height: 0; }
    .landing-v2 .mf-hero-grid { padding-top: 45px; }
    .landing-v2 .mf-hero-copy h1 { margin-top: 10px; font-size: 41px; letter-spacing: -1px; }
    .landing-v2 .mf-hero-copy p { font-size: 13px; line-height: 1.85; }
    .landing-v2 .mf-hero-actions { align-items: stretch; flex-direction: column; }
    .landing-v2 .mf-hero-actions .mf-button { width: 100%; }
    .landing-v2 .mf-hero-visual { min-height: 420px; }
    .landing-v2 .mf-hero-shape { width: 315px; height: 360px; }
    .landing-v2 .mf-hero-device { width: 245px; margin-bottom: 32px; border-width: 7px; border-radius: 29px; }
    .landing-v2 .mf-device-screen { min-height: 270px; }
    .landing-v2 .mf-demo-cover { height: 94px; }
    .landing-v2 .mf-demo-products > div:nth-child(2) { display: none; }
    .landing-v2 .mf-hero-qr { right: calc(50% - 155px); bottom: 90px; width: 78px; height: 88px; padding: 9px; }
    .landing-v2 .mf-hero-qr svg { width: 58px; }
    .landing-v2 .mf-clients { padding: 38px 0 30px; }
    .landing-v2 .mf-clients h2 { padding-inline: 16px; font-size: 16px; }
    .landing-v2 .mf-client-logo { width: 70px; height: 70px; flex-basis: 70px; border-radius: 13px; }
    .landing-v2 .mf-client-logo img { width: 50px; height: 50px; }
    .landing-v2 .mf-feature-section { padding: 65px 0; }
    .landing-v2 .mf-feature-copy h2 { font-size: 34px; letter-spacing: -.7px; }
    .landing-v2 .mf-feature-copy p { font-size: 13px; }
    .landing-v2 .mf-feature-visual { min-height: 320px; padding: 24px 17px; border-radius: 19px; }
    .landing-v2 .mf-ui-cover { height: 105px; }
    .landing-v2 .mf-ui-cover span { font-size: 31px; }
    .landing-v2 .mf-ui-form { grid-template-columns: 1fr; }
    .landing-v2 .mf-floating-languages { right: 5px; bottom: 10px; }
    .landing-v2 .mf-product-float { width: 125px; }
    .landing-v2 .mf-product-float-one { top: 16px; right: 2px; }
    .landing-v2 .mf-product-float-two { bottom: 15px; left: 2px; }
    .landing-v2 .mf-order-detail { right: 5px; bottom: 10px; width: 210px; }
    .landing-v2 .mf-stat-list { left: 7px; bottom: 10px; width: 190px; }
    .landing-v2 .mf-stat-popover { right: 5px; bottom: 60px; }
    .landing-v2 .mf-qr-visual { grid-template-columns: 86px 180px; gap: 8px; }
    .landing-v2 .mf-phone-mini { width: 86px; height: 210px; border-width: 5px; }
    .landing-v2 .mf-qr-card { width: 180px; padding: 12px; }
    .landing-v2 .mf-qr-card svg { width: 92px; }
    .landing-v2 .mf-link-card { right: 40px; bottom: 10px; width: 245px; }
    .landing-v2 .mf-pricing { padding: 75px 0; }
    .landing-v2 .mf-section-heading h2 { font-size: 36px; }
    .landing-v2 .mf-section-heading p { font-size: 13px; }
    .landing-v2 .mf-plans-grid { grid-template-columns: 1fr; gap: 16px; }
    .landing-v2 .mf-plan-card { max-width: 390px; width: 100%; margin-inline: auto; }
    .landing-v2 .mf-final-cta { padding-bottom: 35px; }
    .landing-v2 .mf-final-cta-card { padding: 28px 20px; flex-direction: column; text-align: center; border-radius: 16px; }
    .landing-v2 .mf-final-cta-card h2 { font-size: 26px; }
    .landing-v2 .mf-final-cta-card .mf-button { width: 100%; }
    .landing-v2 .mf-blog-heading { min-height: 280px; padding: 65px 0; }
    .landing-v2 .mf-blog-main { padding: 60px 0 75px; }
}

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

/* MENUFLOW_MARKETING_V3_REFINEMENTS_START */
.landing-v3 .mf-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Header language switcher: use real local SVG flags instead of emoji glyphs. */
.landing-v3 .mf-nav-shell { min-height: 70px; }
.landing-v3 .mf-nav-links,
.landing-v3 .mf-nav-actions { gap: 17px; }
.landing-v3 .mf-language-trigger {
    min-width: 126px;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.035);
}
.landing-v3 .mf-language-trigger:hover,
.landing-v3 .mf-language.open .mf-language-trigger {
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.1);
}
.landing-v3 .mf-language-flag {
    width: 27px;
    height: 18px;
    flex: 0 0 auto;
    display: block;
    object-fit: cover;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 3px;
    box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
.landing-v3 .mf-language-trigger small {
    color: rgba(255,255,255,.62);
    font-size: 8px;
    font-weight: 700;
    direction: ltr;
}
.landing-v3 .mf-language-menu {
    inset-inline-start: auto;
    inset-inline-end: 0;
    width: 230px;
    padding: 8px;
    border-radius: 13px;
}
.landing-v3 .mf-language-menu-title {
    padding: 7px 9px 8px;
    color: #8a9692;
    border-bottom: 1px solid #edf0ef;
    font-size: 9px;
    font-weight: 700;
}
.landing-v3 .mf-language-menu a {
    min-height: 43px;
    grid-template-columns: 30px minmax(0, 1fr) auto 16px;
    gap: 9px;
}
.landing-v3 .mf-language-menu a > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.landing-v3 .mf-language-menu a > i {
    width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    visibility: hidden;
    color: #fff;
    border-radius: 50%;
    background: var(--mf-brand);
    font-size: 8px;
    font-style: normal;
}
.landing-v3 .mf-language-menu a.active > i { visibility: visible; }

/* Trust slider: two equal dynamic groups, real restaurant logos and distinctive fallbacks. */
.landing-v3 .mf-clients { padding: 44px 0 43px; }
.landing-v3 .mf-clients h2 { margin-bottom: 24px; }
.landing-v3 .mf-client-slider {
    --client-duration: 38s;
    width: min(100%, 1420px);
    padding-block: 8px 12px;
}
.landing-v3 .mf-client-track {
    gap: 0;
    animation-duration: var(--client-duration);
    will-change: transform;
}
.landing-v3 .mf-client-slider.is-static {
    display: flex;
    justify-content: center;
    -webkit-mask-image: none;
    mask-image: none;
}
.landing-v3 .mf-client-slider.is-static .mf-client-track { animation: none; }
.landing-v3 .mf-client-group {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 18px;
    padding-inline: 9px;
}
.landing-v3 .mf-client-logo {
    width: 86px;
    height: 86px;
    flex-basis: 86px;
    padding: 8px;
    overflow: visible;
    border-color: hsl(var(--client-tone) 24% 91%);
    background: linear-gradient(145deg, #fff, hsl(var(--client-tone) 36% 97%));
    box-shadow: 0 8px 21px rgba(19,45,41,.065);
}
.landing-v3 .mf-client-logo-frame {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
}
.landing-v3 .mf-client-logo .mf-client-logo-image {
    width: 62px;
    height: 62px;
    display: block;
    object-fit: contain;
    border-radius: 9px;
}
.landing-v3 .mf-client-monogram {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: hsl(var(--client-tone) 42% 28%);
    border-radius: 10px;
    background:
        radial-gradient(circle at 76% 22%, hsla(var(--client-tone) 78% 55% / .24), transparent 27%),
        linear-gradient(145deg, hsl(var(--client-tone) 42% 94%), hsl(var(--client-tone) 47% 87%));
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.5px;
    direction: ltr;
}
.landing-v3 .mf-client-monogram.is-hidden { display: none; }
.landing-v3 .mf-client-logo .mf-client-flag {
    top: -7px;
    right: -7px;
    width: 29px;
    height: 21px;
    padding: 2px;
    object-fit: cover;
    border: 3px solid #fff;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 5px 12px rgba(0,0,0,.14);
}
html[dir="ltr"] .landing-v3 .mf-client-logo .mf-client-flag {
    right: auto;
    left: -7px;
}

/* Small visual refinements based on the reference layout. */
.landing-v3 .mf-hero-grid { gap: 52px; }
.landing-v3 .mf-feature-section { padding-block: 96px; }
.landing-v3 .mf-feature-copy h2 { text-wrap: balance; }
.landing-v3 .mf-pricing { padding-top: 92px; }
.landing-v3 .mf-plan-card { padding-top: 23px; }
.landing-v3 .mf-plan-card.featured { transform: translateY(-6px); }
.landing-v3 .mf-plan-card.featured:hover { transform: translateY(-11px); }
.landing-v3 .mf-final-cta-card { box-shadow: 0 20px 45px rgba(7,89,79,.13); }

@media (max-width: 1100px) {
    .landing-v3 .mf-language-trigger { min-width: 74px; }
    .landing-v3 .mf-language-current-name { display: none; }
}

@media (max-width: 900px) {
    .landing-v3 .mf-language-trigger {
        min-width: 0;
        border-color: #e7ecea;
        background: #fff;
    }
    .landing-v3 .mf-language-current-name { display: inline; }
    .landing-v3 .mf-language-trigger small { color: #97a19e; }
    .landing-v3 .mf-language-menu {
        width: 100%;
        padding: 0;
    }
    .landing-v3 .mf-language.open .mf-language-menu {
        max-height: 330px;
        padding: 7px;
    }
    .landing-v3 .mf-language-menu-title { display: none; }
    .landing-v3 .mf-client-slider {
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
        mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    }
    .landing-v3 .mf-feature-section { padding-block: 76px; }
}

@media (max-width: 600px) {
    .landing-v3 .mf-client-group { gap: 12px; padding-inline: 6px; }
    .landing-v3 .mf-client-logo {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
        padding: 6px;
        border-radius: 13px;
    }
    .landing-v3 .mf-client-logo-frame,
    .landing-v3 .mf-client-logo .mf-client-logo-image,
    .landing-v3 .mf-client-monogram {
        width: 56px;
        height: 56px;
    }
    .landing-v3 .mf-client-monogram { font-size: 15px; }
    .landing-v3 .mf-client-logo .mf-client-flag {
        width: 26px;
        height: 19px;
        top: -6px;
        right: -6px;
    }
    html[dir="ltr"] .landing-v3 .mf-client-logo .mf-client-flag {
        right: auto;
        left: -6px;
    }
    .landing-v3 .mf-plan-card.featured,
    .landing-v3 .mf-plan-card.featured:hover { transform: none; }
}
/* MENUFLOW_MARKETING_V3_REFINEMENTS_END */
.landing-v3 .mf-client-slider.is-static .mf-client-group[aria-hidden="true"] { display: none; }

/* MENUFLOW_LANDING_V4_AND_SYSTEM_INTERFACE_START */
.btn-outline { color: var(--brand); border-color: var(--line); background: #fff; }

/* Landing V4: consistent language rows and independent pricing-card expansion. */

.landing-v4 .mf-site-header.is-fixed-enabled {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 90;
    transition: background .2s ease, box-shadow .2s ease, backdrop-filter .2s ease;
}
.landing-v4 .mf-site-header.is-fixed-enabled.is-scrolled {
    background: var(--mf-brand);
    box-shadow: 0 9px 30px rgba(5, 52, 47, .16);
    backdrop-filter: blur(12px);
}
.landing-v4 .mf-site-header.is-fixed-enabled + .mf-hero-grid { padding-top: 70px; }
.landing-v4 .mf-hero-nav-only { min-height: 70px; }
.landing-v4 .mf-hero-nav-only .mf-site-header:not(.is-fixed-enabled) { min-height: 70px; }
.landing-v4 .mf-language-trigger {
    min-width: 164px;
    min-height: 44px;
    padding: 7px 10px;
    display: grid;
    align-items: center;
    column-gap: 8px;
    direction: ltr;
    font-size: 14px;
}
html[dir="rtl"] .landing-v4 .mf-language-trigger {
    grid-template-columns: 15px 28px minmax(0, 1fr) 29px;
    grid-template-areas: "arrow code name flag";
}
html[dir="ltr"] .landing-v4 .mf-language-trigger {
    grid-template-columns: 29px minmax(0, 1fr) 28px 15px;
    grid-template-areas: "flag name code arrow";
}
.landing-v4 .mf-language-trigger .mf-language-flag { grid-area: flag; }
.landing-v4 .mf-language-trigger .mf-language-current-name {
    grid-area: name;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 700;
    unicode-bidi: plaintext;
}
html[dir="rtl"] .landing-v4 .mf-language-trigger .mf-language-current-name { text-align: right; direction: rtl; }
html[dir="ltr"] .landing-v4 .mf-language-trigger .mf-language-current-name { text-align: left; direction: ltr; }
.landing-v4 .mf-language-trigger small { grid-area: code; font-size: 10px; text-align: center; }
.landing-v4 .mf-language-trigger svg { grid-area: arrow; }
.landing-v4 .mf-language-menu {
    width: 280px;
    padding: 9px;
    border-radius: 14px;
}
.landing-v4 .mf-language-menu-title {
    padding: 8px 10px 10px;
    font-size: 11px;
}
.landing-v4 .mf-language-menu a {
    min-height: 52px;
    padding: 8px 10px;
    display: grid;
    align-items: center;
    gap: 10px;
    direction: ltr !important;
    font-size: 15px;
    line-height: 1.3;
}
html[dir="rtl"] .landing-v4 .mf-language-menu a {
    grid-template-columns: 18px 36px minmax(0, 1fr) 30px;
    grid-template-areas: "check code name flag";
}
html[dir="ltr"] .landing-v4 .mf-language-menu a {
    grid-template-columns: 30px minmax(0, 1fr) 36px 18px;
    grid-template-areas: "flag name code check";
}
.landing-v4 .mf-language-menu a .mf-language-flag { grid-area: flag; justify-self: center; }
.landing-v4 .mf-language-menu a > i { justify-self: center; }
.landing-v4 .mf-language-menu a > small { justify-self: center; }
.landing-v4 .mf-language-menu a > span {
    grid-area: name;
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    unicode-bidi: plaintext;
}
html[dir="rtl"] .landing-v4 .mf-language-menu a > span { text-align: right; }
html[dir="ltr"] .landing-v4 .mf-language-menu a > span { text-align: left; }
.landing-v4 .mf-language-menu a > small {
    grid-area: code;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}
.landing-v4 .mf-language-menu a > i { grid-area: check; }
.landing-v4 .mf-plans-grid { align-items: start; }
.landing-v4 .mf-plan-card { height: auto; align-self: start; }
.landing-v4 .mf-plan-features:not(.expanded) .mf-plan-extra { display: none; }
.landing-v4 .mf-more-button { font-size: 9px; }

/* System interface management. */
.system-interface { display: grid; gap: 18px; }
.system-interface-tabs {
    padding: 6px;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}
.system-interface-tabs a {
    min-height: 42px;
    padding: 9px 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    color: #68716f;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
}
.system-interface-tabs a.active { color: var(--brand); background: var(--brand-soft); }
.system-tab-symbol { min-width: 22px; text-align: center; font-weight: 900; direction: ltr; }
.system-interface-form { display: grid; gap: 18px; }
.system-interface-card { display: grid; gap: 22px; }
.system-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.system-card-heading > div { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }
.system-card-heading h2 { margin: 0; font-size: 18px; }
.system-card-heading p { grid-column: 2; margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.system-card-icon {
    grid-row: 1 / 3;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--brand);
    border-radius: 11px;
    background: var(--brand-soft);
    font-size: 16px;
    font-weight: 900;
}
.system-color-field { display: grid; grid-template-columns: 50px 1fr; gap: 8px; }
.system-color-field input[type="color"] { width: 50px; min-height: 46px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.system-slug-field { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #f8faf9; direction: ltr; }
.system-slug-field span { padding-inline: 12px 0; color: #87908e; font-size: 11px; white-space: nowrap; }
.system-slug-field .input { border: 0; background: transparent; box-shadow: none; }
.system-switch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.system-switch-card {
    min-height: 76px;
    padding: 14px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}
.system-switch-card > input { position: absolute; opacity: 0; pointer-events: none; }
.system-switch-ui { width: 44px; height: 25px; padding: 3px; border-radius: 999px; background: #d9dfdd; transition: .2s; }
.system-switch-ui::after { content: ""; width: 19px; height: 19px; display: block; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px #0002; transition: .2s; }
.system-switch-card input:checked + .system-switch-ui { background: var(--brand); }
.system-switch-card input:checked + .system-switch-ui::after { transform: translateX(-19px); }
.system-switch-card strong, .system-switch-card small { display: block; }
.system-switch-card strong { color: var(--ink); font-size: 13px; }
.system-switch-card small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.system-save-bar {
    position: sticky;
    z-index: 20;
    bottom: 12px;
    min-height: 64px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border: 1px solid #dce7e4;
    border-radius: 13px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 35px rgba(20,50,46,.12);
    backdrop-filter: blur(10px);
}
.system-save-bar span { color: var(--muted); font-size: 11px; }
.system-language-card { overflow: hidden; }
.system-language-head { padding: 22px; display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; border-bottom: 1px solid var(--line); }
.system-language-head h2 { margin: 0 0 5px; font-size: 19px; }
.system-language-head p { margin: 0; color: var(--muted); font-size: 11px; }
.system-admin-only { padding: 5px 9px; color: var(--brand); border-radius: 999px; background: var(--brand-soft); font-size: 9px; font-weight: 800; }
.system-language-table-wrap { overflow-x: auto; }
.system-language-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.system-language-table th { padding: 11px 12px; color: #78817f; background: #f8faf9; text-align: right; font-size: 10px; }
.system-language-table td { padding: 12px; border-top: 1px solid #eef1f0; vertical-align: middle; }
.system-language-table .input, .system-language-table .select { min-height: 39px; font-size: 11px; }
.system-language-identity { min-width: 155px; display: flex; align-items: center; gap: 9px; }
.system-language-identity img { width: 34px; height: 23px; object-fit: cover; border: 1px solid #dfe5e3; border-radius: 4px; }
.system-language-identity strong, .system-language-identity small { display: block; }
.system-language-identity strong { text-transform: uppercase; direction: ltr; font-size: 11px; }
.system-language-identity small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.system-flag-select { width: 76px; min-height: 30px !important; margin-top: 6px; }
.system-short-input { width: 76px; text-align: center; }
.system-order-input { width: 82px; text-align: center; }
.system-mini-switch input, .system-default-radio input { position: absolute; opacity: 0; pointer-events: none; }
.system-mini-switch span { width: 38px; height: 22px; padding: 3px; display: block; border-radius: 999px; background: #d8dedc; transition: .2s; }
.system-mini-switch span::after { content: ""; width: 16px; height: 16px; display: block; border-radius: 50%; background: #fff; transition: .2s; }
.system-mini-switch input:checked + span { background: var(--brand); }
.system-mini-switch input:checked + span::after { transform: translateX(-16px); }
.system-default-radio span { width: 20px; height: 20px; display: grid; place-items: center; border: 2px solid #cdd5d2; border-radius: 50%; }
.system-default-radio span::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: transparent; }
.system-default-radio input:checked + span { border-color: var(--brand); }
.system-default-radio input:checked + span::after { background: var(--brand); }
.system-translation-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.system-translation-header h2 { margin: 0 0 5px; font-size: 19px; }
.system-translation-header p { margin: 0; color: var(--muted); font-size: 11px; }
.system-translation-tools { display: flex; align-items: center; gap: 8px; }
.system-translation-search { min-width: 300px; min-height: 40px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.system-translation-search input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11px; }
.system-locale-tabs { display: flex; gap: 8px; overflow-x: auto; }
.system-locale-tabs a { min-width: 125px; min-height: 50px; padding: 8px 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 11px; font-weight: 700; }
.system-locale-tabs a.active { color: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.system-locale-tabs img { width: 30px; height: 20px; object-fit: cover; border-radius: 3px; }
.system-locale-tabs small { margin-inline-start: auto; color: #a06b3d; font-size: 8px; }
.system-translation-groups { display: grid; gap: 14px; }
.system-translation-group { display: grid; gap: 16px; }
.system-translation-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.system-translation-group-head h3 { margin: 0; font-size: 16px; }
.system-translation-group-head span { color: var(--muted); font-size: 9px; }
.system-translation-group-head button { padding: 5px 9px; color: var(--brand); border: 1px solid var(--line); border-radius: 7px; background: #fff; font-size: 9px; }
.system-translation-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.system-translation-field { min-width: 0; padding: 12px; display: grid; gap: 7px; border: 1px solid #e8eceb; border-radius: 10px; background: #fbfcfc; }
.system-translation-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.system-translation-label label { overflow: hidden; color: #66706d; text-overflow: ellipsis; white-space: nowrap; direction: ltr; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; }
.system-translation-label span { padding: 2px 6px; color: #986323; border-radius: 999px; background: #fff2dc; font-size: 8px; font-weight: 800; }
.system-translation-field small { color: var(--muted); font-size: 9px; }
.system-translation-field code { direction: ltr; color: var(--brand); }
.system-no-results { padding: 35px; text-align: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 12px; background: #fff; }

@media (max-width: 1050px) {
    .system-switch-grid, .system-translation-fields { grid-template-columns: 1fr; }
    .system-translation-header { align-items: flex-start; flex-direction: column; }
    .system-translation-tools { width: 100%; }
    .system-translation-search { flex: 1; min-width: 0; }
}
@media (max-width: 700px) {
    .landing-v4 .mf-language-trigger { width: 100%; min-width: 0; }
    .landing-v4 .mf-language-menu { width: 100%; }
    .system-interface-tabs { padding: 4px; }
    .system-interface-tabs a { padding-inline: 11px; font-size: 11px; }
    .system-card-heading > div { grid-template-columns: 34px 1fr; }
    .system-card-icon { width: 34px; height: 34px; }
    .system-switch-grid { grid-template-columns: 1fr; }
    .system-save-bar { align-items: stretch; flex-direction: column; }
    .system-save-bar .btn { width: 100%; }
    .system-language-head { flex-direction: column; }
    .system-translation-tools { align-items: stretch; flex-direction: column; }
    .system-translation-search { width: 100%; }
    .system-translation-tools form, .system-translation-tools .btn { width: 100%; }
    .system-locale-tabs a { min-width: 105px; }
}
/* MENUFLOW_LANDING_V4_AND_SYSTEM_INTERFACE_END */

/* System pricing management additions. */
.system-plans-table { min-width: 880px; }
.system-plan-name { min-width: 190px; }
.system-plan-name small { margin-top: 4px; display: block; color: var(--muted); direction: ltr; font-size: 9px; }
.system-price-input { width: 125px; display: grid; grid-template-columns: 28px 1fr; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #f8faf9; direction: ltr; }
.system-price-input span { text-align: center; color: var(--brand); font-size: 11px; font-weight: 800; }
.system-price-input .input { min-width: 0; border: 0; border-radius: 0; background: #fff; }

/* MENUFLOW_LANDING_V5_LANGUAGE_AND_ADMIN_FIX_START */
/* Keep the marketing navigation readable and prevent the language switcher from
   being visually lost between the links and the action buttons. */
.landing-v5 .mf-nav-shell { min-height: 76px; }
.landing-v5 .mf-nav { gap: 28px; }
.landing-v5 .mf-nav-links,
.landing-v5 .mf-nav-actions { gap: 20px; }
.landing-v5 .mf-nav-links a,
.landing-v5 .mf-login-link {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}
.landing-v5 .mf-nav-cta {
    min-height: 42px;
    padding: 10px 17px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}
.landing-v5 .mf-language {
    position: relative;
    z-index: 95;
    display: block;
    flex: 0 0 auto;
}
.landing-v5 .mf-language-trigger {
    width: auto;
    min-width: 158px;
    min-height: 42px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    background: rgba(255,255,255,.07);
    font-size: 14px;
    font-weight: 700;
}
.landing-v5 .mf-language-trigger:hover,
.landing-v5 .mf-language.open .mf-language-trigger {
    border-color: rgba(255,255,255,.38);
    background: rgba(255,255,255,.14);
}
.landing-v5 .mf-language-trigger .mf-language-current-name {
    display: block !important;
    font-size: 14px;
    font-weight: 800;
}
.landing-v5 .mf-language-trigger small {
    display: block !important;
    font-size: 10px;
    font-weight: 800;
}
.landing-v5 .mf-language-menu {
    z-index: 120;
    top: calc(100% + 9px);
    width: 286px;
    padding: 9px;
    overflow: visible;
    border-radius: 14px;
    box-shadow: 0 24px 65px rgba(4,43,38,.24);
}
.landing-v5 .mf-language-menu-title {
    min-height: 34px;
    padding: 7px 10px 10px;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 800;
}
.landing-v5 .mf-language-menu a {
    min-height: 54px;
    padding: 8px 10px;
    gap: 10px;
    font-size: 15px;
    font-weight: 700;
}
.landing-v5 .mf-language-menu a > span {
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
}
.landing-v5 .mf-language-menu a > small {
    font-size: 11px;
    font-weight: 800;
}
.landing-v5 .mf-language-menu .mf-language-flag {
    width: 30px;
    height: 20px;
}
html[dir="rtl"] .landing-v5 .mf-language-menu,
html[dir="rtl"] .landing-v5 .mf-language-menu-title { text-align: right; }
html[dir="ltr"] .landing-v5 .mf-language-menu,
html[dir="ltr"] .landing-v5 .mf-language-menu-title { text-align: left; }
html[dir="rtl"] .landing-v5 .mf-language-menu a {
    direction: rtl !important;
    grid-template-columns: 30px minmax(0, 1fr) 38px 18px;
    grid-template-areas: "flag name code check";
}
html[dir="ltr"] .landing-v5 .mf-language-menu a {
    direction: ltr !important;
    grid-template-columns: 30px minmax(0, 1fr) 38px 18px;
    grid-template-areas: "flag name code check";
}
html[dir="rtl"] .landing-v5 .mf-language-menu a > span,
html[dir="ltr"] .landing-v5 .mf-language-menu a > span {
    text-align: start;
    direction: auto;
    unicode-bidi: plaintext;
}
.landing-v5 .mf-language-menu a .mf-language-flag { grid-area: flag; }
.landing-v5 .mf-language-menu a > span { grid-area: name; }
.landing-v5 .mf-language-menu a > small { grid-area: code; }
.landing-v5 .mf-language-menu a > i { grid-area: check; }

/* Each pricing card owns its height. Opening one card must not stretch siblings. */
.landing-v5 .mf-plans-grid { align-items: start !important; }
.landing-v5 .mf-plan-card {
    height: auto !important;
    min-height: 0;
    align-self: start !important;
}
.landing-v5 .mf-plan-card .mf-plan-button { margin-top: 12px; }
.landing-v5 .mf-plan-card .mf-plan-features { flex: 0 0 auto; }

/* Make the new system-interface area comfortable to read. */
.system-interface-tabs a { font-size: 13px; font-weight: 800; }
.system-interface .field > label,
.system-interface .system-switch-copy strong,
.system-interface .system-language-name strong { font-size: 13px; }
.system-interface .input,
.system-interface .select,
.system-interface .textarea { font-size: 13px; }
.system-interface .system-translation-field .input,
.system-interface .system-translation-field .textarea { font-size: 13px; line-height: 1.7; }

@media (max-width: 1180px) {
    .landing-v5 .mf-nav { gap: 18px; }
    .landing-v5 .mf-nav-links,
    .landing-v5 .mf-nav-actions { gap: 13px; }
    .landing-v5 .mf-nav-links a,
    .landing-v5 .mf-login-link { font-size: 13px; }
    .landing-v5 .mf-language-trigger { min-width: 130px; }
}

@media (max-width: 900px) {
    .landing-v5 .mf-nav-links a,
    .landing-v5 .mf-login-link { min-height: 44px; font-size: 14px; }
    .landing-v5 .mf-language-trigger {
        width: 100%;
        min-width: 0;
        color: var(--mf-ink);
        border-color: #e2e8e6;
        background: #f8faf9;
    }
    .landing-v5 .mf-language-trigger small { color: #87928f; }
    .landing-v5 .mf-language-menu {
        position: static;
        width: 100%;
        max-height: 0;
        margin-top: 0;
        padding: 0;
        overflow: hidden;
        visibility: visible;
        opacity: 1;
        border: 0;
        box-shadow: none;
        transform: none;
    }
    .landing-v5 .mf-language.open .mf-language-menu {
        max-height: 390px;
        margin-top: 6px;
        padding: 8px;
        border: 1px solid #e5eae8;
    }
    .landing-v5 .mf-language-menu-title { display: flex; }
}
/* MENUFLOW_LANDING_V5_LANGUAGE_AND_ADMIN_FIX_END */

/* MENUFLOW_LANDING_V6_BIDI_AND_FONT_TUNING_START */
/*
 * Keep every language row in one physical LTR layout (flag, name, code, check),
 * while BDI isolates the actual language name so Arabic and Kurdish remain RTL.
 */
.landing-v6 .mf-nav-links a,
.landing-v6 .mf-login-link {
    font-size: 15px;
    font-weight: 750;
}
.landing-v6 .mf-nav-cta {
    min-height: 43px;
    padding: 10px 18px;
    font-size: 14px;
}
.landing-v6 .mf-language-trigger {
    min-width: 174px;
    min-height: 45px;
    padding: 8px 11px;
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) 37px 16px;
    grid-template-areas: "flag name code arrow";
    align-items: center;
    column-gap: 9px;
    direction: ltr !important;
    unicode-bidi: isolate;
    font-size: 15px;
}
html[dir="rtl"] .landing-v6 .mf-language-trigger,
html[dir="ltr"] .landing-v6 .mf-language-trigger {
    grid-template-columns: 31px minmax(0, 1fr) 37px 16px;
    grid-template-areas: "flag name code arrow";
    direction: ltr !important;
}
.landing-v6 .mf-language-trigger .mf-language-flag {
    grid-area: flag;
    justify-self: center;
}
.landing-v6 .mf-language-trigger .mf-language-current-name {
    grid-area: name;
    min-width: 0;
    display: block !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left !important;
    unicode-bidi: isolate;
    font-size: 15px;
    font-weight: 800;
}
html[dir="rtl"] .landing-v6 .mf-language-trigger .mf-language-current-name,
html[dir="ltr"] .landing-v6 .mf-language-trigger .mf-language-current-name {
    text-align: left !important;
    unicode-bidi: isolate;
}
.landing-v6 .mf-language-trigger small {
    grid-area: code;
    justify-self: center;
    direction: ltr !important;
    unicode-bidi: isolate;
    font-size: 11px;
}
.landing-v6 .mf-language-trigger svg {
    grid-area: arrow;
    justify-self: center;
}
.landing-v6 .mf-language-menu {
    width: 300px;
    padding: 10px;
}
.landing-v6 .mf-language-menu-title {
    min-height: 37px;
    padding: 8px 11px 10px;
    font-size: 13px;
}
.landing-v6 .mf-language-menu a,
html[dir="rtl"] .landing-v6 .mf-language-menu a,
html[dir="ltr"] .landing-v6 .mf-language-menu a {
    min-height: 58px;
    padding: 9px 11px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 42px 20px;
    grid-template-areas: "flag name code check";
    align-items: center;
    gap: 10px;
    direction: ltr !important;
    unicode-bidi: isolate;
}
.landing-v6 .mf-language-menu a .mf-language-flag {
    grid-area: flag;
    justify-self: center;
    width: 31px;
    height: 21px;
}
.landing-v6 .mf-language-menu a .mf-language-option-name {
    grid-area: name;
    min-width: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left !important;
    unicode-bidi: isolate;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
}
.landing-v6 .mf-language-menu a > small {
    grid-area: code;
    justify-self: center;
    direction: ltr !important;
    unicode-bidi: isolate;
    font-size: 12px;
    font-weight: 800;
}
.landing-v6 .mf-language-menu a > i {
    grid-area: check;
    justify-self: center;
}

@media (max-width: 1180px) {
    .landing-v6 .mf-nav-links a,
    .landing-v6 .mf-login-link { font-size: 14px; }
    .landing-v6 .mf-language-trigger { min-width: 154px; font-size: 14px; }
}

@media (max-width: 900px) {
    .landing-v6 .mf-nav-links a,
    .landing-v6 .mf-login-link { font-size: 15px; }
    .landing-v6 .mf-language-trigger {
        width: 100%;
        min-width: 0;
        grid-template-columns: 32px minmax(0, 1fr) 42px 18px;
    }
    .landing-v6 .mf-language.open .mf-language-menu { max-height: 430px; }
}
/* MENUFLOW_LANDING_V6_BIDI_AND_FONT_TUNING_END */

/* MENUFLOW_LANDING_V7_MOBILE_FIRST_START */
/*
 * Mobile-first polish for the public landing page.
 * Main goals: readable pricing features, one-card mobile pricing,
 * a non-repeating mobile navigation panel, and tighter mobile spacing.
 */

/* Pricing readability on every screen. */
.landing-v7 .mf-plan-top h3 {
    font-size: 17px;
    line-height: 1.45;
}
.landing-v7 .mf-plan-price strong { font-size: 32px; }
.landing-v7 .mf-plan-price b { font-size: 16px; }
.landing-v7 .mf-plan-price small { font-size: 10px; }
.landing-v7 .mf-plan-saving {
    min-height: 34px;
    font-size: 10px;
    line-height: 1.65;
}
.landing-v7 .mf-plan-features {
    gap: 9px;
    font-size: 11.5px;
    line-height: 1.65;
}
.landing-v7 .mf-plan-features li {
    min-height: 21px;
    gap: 8px;
}
.landing-v7 .mf-plan-features li::before {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
    font-size: 9px;
}
.landing-v7 .mf-more-button {
    min-height: 31px;
    padding: 6px 11px;
    font-size: 10.5px;
}
.landing-v7 .mf-plan-button {
    min-height: 43px;
    font-size: 12px;
}
.landing-v7 .mf-plan-trial {
    min-height: 31px;
    font-size: 9px;
    line-height: 1.65;
}

/* Prevent the opened mobile header from being repeated by full-page screenshots. */
@media (max-width: 820px) {
    .landing-v7 .mf-site-header.is-fixed-enabled {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: 100%;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .landing-v7 .mf-site-header.is-fixed-enabled.is-scrolled {
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .landing-v7 .mf-site-header.is-fixed-enabled + .mf-hero-grid {
        padding-top: 20px !important;
    }
    .landing-v7 .mf-nav-shell {
        min-height: 64px;
        gap: 12px;
    }
    .landing-v7 .mf-brand-word { font-size: 22px; }
    .landing-v7 .mf-brand-mark {
        width: 10px;
        height: 20px;
    }
    .landing-v7 .mf-mobile-toggle {
        width: 42px;
        height: 42px;
        border-radius: 9px;
    }
    .landing-v7 .mf-nav {
        top: 58px;
        right: 0;
        left: 0;
        max-height: calc(100vh - 76px);
        padding: 12px;
        gap: 8px;
        overflow-x: hidden;
        overflow-y: auto;
        border-color: #e4e9e7;
        border-radius: 13px;
        box-shadow: 0 20px 46px rgba(5, 45, 40, .22);
    }
    .landing-v7 .mf-nav-links,
    .landing-v7 .mf-nav-actions { gap: 4px; }
    .landing-v7 .mf-nav-links a,
    .landing-v7 .mf-login-link {
        min-height: 46px;
        padding: 11px 12px;
        display: flex;
        align-items: center;
        font-size: 15px;
        font-weight: 750;
    }
    .landing-v7 .mf-language-trigger {
        min-height: 48px;
        padding: 9px 10px;
        grid-template-columns: 32px minmax(0, 1fr) 42px 18px;
        font-size: 15px;
    }
    .landing-v7 .mf-language-trigger .mf-language-current-name {
        font-size: 15px;
    }
    .landing-v7 .mf-language-menu-title { font-size: 13px; }
    .landing-v7 .mf-language-menu a,
    html[dir="rtl"] .landing-v7 .mf-language-menu a,
    html[dir="ltr"] .landing-v7 .mf-language-menu a {
        min-height: 54px;
        padding: 8px 10px;
    }
    .landing-v7 .mf-language-menu a .mf-language-option-name {
        font-size: 15px;
    }
    .landing-v7 .mf-nav-cta {
        min-height: 47px;
        margin-top: 6px;
        font-size: 14px;
    }

    .landing-v7 .mf-hero-grid {
        padding-top: 20px;
        gap: 22px;
    }
    .landing-v7 .mf-hero-copy {
        padding-bottom: 0;
    }
    .landing-v7 .mf-hero-copy p {
        max-width: 600px;
        font-size: 14px;
        line-height: 1.9;
    }
    .landing-v7 .mf-hero-actions .mf-button {
        min-height: 46px;
        font-size: 14px;
    }
    .landing-v7 .mf-clients h2 {
        font-size: 17px;
        line-height: 1.7;
    }

    .landing-v7 .mf-feature-section { padding-block: 58px; }
    .landing-v7 .mf-feature-grid,
    .landing-v7 .mf-feature-reverse { gap: 26px; }
    .landing-v7 .mf-feature-copy h2 {
        font-size: 31px;
        line-height: 1.35;
    }
    .landing-v7 .mf-feature-copy p {
        font-size: 14px;
        line-height: 1.9;
    }
    .landing-v7 .mf-section-label { font-size: 12px; }

    .landing-v7 .mf-pricing { padding: 68px 0 72px; }
    .landing-v7 .mf-section-heading {
        margin-bottom: 18px;
    }
    .landing-v7 .mf-section-heading p { font-size: 13px; }
    .landing-v7 .mf-section-heading h2 {
        font-size: 33px;
        line-height: 1.3;
    }
    .landing-v7 .mf-section-heading > span {
        font-size: 13px;
        line-height: 1.8;
    }
    .landing-v7 .mf-billing-toggle {
        margin: 20px auto 26px;
    }
    .landing-v7 .mf-billing-toggle button {
        min-height: 39px;
        font-size: 12px;
    }
    .landing-v7 .mf-plans-grid {
        gap: 18px;
        align-items: start !important;
    }
    .landing-v7 .mf-plan-card {
        align-self: start !important;
        height: auto !important;
        padding: 24px 20px 18px;
        border-radius: 13px;
    }
    .landing-v7 .mf-plan-card:hover,
    .landing-v7 .mf-plan-card.featured,
    .landing-v7 .mf-plan-card.featured:hover {
        transform: none;
    }
    .landing-v7 .mf-plan-icon {
        width: 43px;
        height: 43px;
    }
    .landing-v7 .mf-plan-icon svg {
        width: 23px;
        height: 23px;
    }
    .landing-v7 .mf-plan-top h3 {
        margin-top: 11px;
        font-size: 19px;
    }
    .landing-v7 .mf-plan-price {
        min-height: 52px;
        margin-top: 8px;
    }
    .landing-v7 .mf-plan-price strong { font-size: 36px; }
    .landing-v7 .mf-plan-price b { font-size: 17px; }
    .landing-v7 .mf-plan-price small { font-size: 11px; }
    .landing-v7 .mf-plan-saving {
        min-height: 36px;
        margin-bottom: 14px;
        font-size: 11px;
    }
    .landing-v7 .mf-plan-features {
        padding-top: 16px;
        gap: 11px;
        font-size: 14px;
        line-height: 1.7;
    }
    .landing-v7 .mf-plan-features li {
        min-height: 24px;
        gap: 9px;
    }
    .landing-v7 .mf-plan-features li::before {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
        margin-top: 1px;
        font-size: 10px;
    }
    .landing-v7 .mf-more-button {
        min-height: 36px;
        margin-block: 15px 12px;
        padding: 7px 13px;
        font-size: 13px;
    }
    .landing-v7 .mf-more-button svg {
        width: 15px;
        height: 15px;
    }
    .landing-v7 .mf-plan-button {
        min-height: 48px;
        margin-top: 13px;
        font-size: 14px;
    }
    .landing-v7 .mf-plan-trial {
        min-height: 34px;
        margin-top: 9px;
        font-size: 11px;
    }

    .landing-v7 .mf-final-cta-card {
        gap: 18px;
    }
    .landing-v7 .mf-final-cta-card p {
        font-size: 13px;
        line-height: 1.75;
    }
}

@media (min-width: 701px) and (max-width: 900px) {
    .landing-v7 .mf-plans-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .landing-v7 .mf-plans-grid {
        width: min(100%, 430px);
        margin-inline: auto;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .landing-v7 .mf-plan-card {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }
}

@media (max-width: 600px) {
    .landing-v7 .mf-container {
        width: min(100% - 24px, 1180px);
    }
    .landing-v7 .mf-hero-grid { padding-top: 12px; }
    .landing-v7 .mf-eyebrow { font-size: 13px; }
    .landing-v7 .mf-hero-copy h1 {
        margin: 9px 0 14px;
        font-size: clamp(34px, 10vw, 42px);
        line-height: 1.18;
        letter-spacing: -.8px;
    }
    .landing-v7 .mf-hero-copy p {
        font-size: 14px;
        line-height: 1.85;
    }
    .landing-v7 .mf-hero-actions {
        margin-top: 21px;
        gap: 9px;
    }
    .landing-v7 .mf-hero-visual { min-height: 385px; }
    .landing-v7 .mf-hero-shape {
        width: min(300px, 88vw);
        height: 335px;
    }
    .landing-v7 .mf-hero-device {
        width: min(238px, 72vw);
        margin-bottom: 29px;
    }
    .landing-v7 .mf-hero-qr {
        right: max(8px, calc(50% - 150px));
        bottom: 82px;
    }

    .landing-v7 .mf-clients { padding: 32px 0 28px; }
    .landing-v7 .mf-clients h2 {
        margin-bottom: 20px;
        padding-inline: 12px;
        font-size: 16px;
    }
    .landing-v7 .mf-client-logo {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }

    .landing-v7 .mf-feature-section { padding-block: 48px; }
    .landing-v7 .mf-feature-grid,
    .landing-v7 .mf-feature-reverse { gap: 22px; }
    .landing-v7 .mf-feature-copy h2 {
        font-size: 28px;
        line-height: 1.35;
    }
    .landing-v7 .mf-feature-copy p {
        font-size: 14px;
        line-height: 1.85;
    }
    .landing-v7 .mf-feature-visual {
        min-height: 285px;
        padding: 20px 14px;
        border-radius: 17px;
    }

    .landing-v7 .mf-pricing { padding: 58px 0 62px; }
    .landing-v7 .mf-section-heading h2 { font-size: 30px; }
    .landing-v7 .mf-section-heading > span { font-size: 12.5px; }
    .landing-v7 .mf-billing-toggle {
        max-width: 100%;
    }
    .landing-v7 .mf-billing-toggle button {
        min-width: 0;
        padding-inline: 11px;
        font-size: 12px;
    }
    .landing-v7 .mf-plan-card {
        padding: 23px 18px 17px;
    }
    .landing-v7 .mf-plan-features {
        font-size: 14.5px;
    }

    .landing-v7 .mf-final-cta-card {
        padding: 24px 18px;
    }
    .landing-v7 .mf-final-cta-card h2 {
        font-size: 23px;
        line-height: 1.45;
    }
    .landing-v7 .mf-final-cta-card .mf-button {
        min-height: 47px;
        font-size: 14px;
    }
    .landing-v7 .mf-footer-row { gap: 16px; }
    .landing-v7 .mf-footer p {
        font-size: 10px;
        line-height: 1.7;
    }
}

@media (max-width: 380px) {
    .landing-v7 .mf-container { width: min(100% - 18px, 1180px); }
    .landing-v7 .mf-nav { right: -2px; left: -2px; }
    .landing-v7 .mf-language-menu a,
    html[dir="rtl"] .landing-v7 .mf-language-menu a,
    html[dir="ltr"] .landing-v7 .mf-language-menu a {
        grid-template-columns: 29px minmax(0, 1fr) 36px 18px;
        gap: 7px;
    }
    .landing-v7 .mf-plan-card { padding-inline: 16px; }
    .landing-v7 .mf-plan-features { font-size: 14px; }
}
/* MENUFLOW_LANDING_V7_MOBILE_FIRST_END */

/* MENUFLOW_LANDING_V8_FULLSCREEN_MOBILE_HEADER_START */
/*
 * Mobile header V8:
 * - fixed full-width bar
 * - language switcher and login always visible
 * - hamburger opens a full-screen navigation panel below the bar
 */
.landing-v8 .mf-mobile-quick-actions { display: none; }

@media (max-width: 820px) {
    body.landing-v8.mf-mobile-nav-open { overflow: hidden; }

    .landing-v8 .mf-site-header,
    .landing-v8 .mf-site-header.is-fixed-enabled,
    .landing-v8 .mf-site-header.is-fixed-enabled.is-scrolled {
        position: fixed !important;
        z-index: 220;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100%;
        min-height: 64px;
        color: #fff;
        background: var(--mf-brand) !important;
        box-shadow: 0 7px 24px rgba(4, 45, 40, .18) !important;
        backdrop-filter: blur(14px);
    }

    .landing-v8 .mf-site-header .mf-container.mf-nav-shell {
        width: 100%;
        max-width: none;
        min-height: 64px;
        padding-inline: 10px;
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        grid-template-areas: "toggle quick brand";
        align-items: center;
        gap: 8px;
        direction: ltr;
    }
    html[dir="ltr"] .landing-v8 .mf-site-header .mf-container.mf-nav-shell {
        grid-template-columns: auto minmax(0, 1fr) 42px;
        grid-template-areas: "brand quick toggle";
    }

    .landing-v8 .mf-brand {
        grid-area: brand;
        justify-self: end;
        gap: 5px;
        white-space: nowrap;
    }
    html[dir="ltr"] .landing-v8 .mf-brand { justify-self: start; }
    .landing-v8 .mf-brand-word {
        font-size: 18px;
        letter-spacing: -.4px;
    }
    .landing-v8 .mf-brand-mark {
        width: 8px;
        height: 18px;
    }

    .landing-v8 .mf-mobile-toggle {
        grid-area: toggle;
        position: relative;
        z-index: 2;
        width: 42px;
        height: 42px;
        padding: 9px;
        display: grid;
        gap: 4px;
        justify-self: start;
        border-color: rgba(255,255,255,.32);
        border-radius: 9px;
        background: rgba(255,255,255,.08);
    }
    html[dir="ltr"] .landing-v8 .mf-mobile-toggle { justify-self: end; }
    .landing-v8 .mf-mobile-toggle span {
        width: 21px;
        transform-origin: center;
    }
    .landing-v8 .mf-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }
    .landing-v8 .mf-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
        transform: scaleX(.2);
    }
    .landing-v8 .mf-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .landing-v8 .mf-mobile-quick-actions {
        grid-area: quick;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        direction: ltr;
    }
    .landing-v8 .mf-mobile-language { position: relative; min-width: 0; }
    .landing-v8 .mf-mobile-language-trigger {
        min-width: 114px;
        max-width: 150px;
        min-height: 39px;
        padding: 6px 8px;
        display: grid;
        grid-template-columns: 25px minmax(0, 1fr) 14px;
        grid-template-areas: "flag name arrow";
        align-items: center;
        gap: 6px;
        color: #fff;
        border: 1px solid rgba(255,255,255,.23);
        border-radius: 8px;
        background: rgba(255,255,255,.08);
        font-family: inherit;
        cursor: pointer;
        direction: ltr !important;
    }
    .landing-v8 .mf-mobile-language.open .mf-mobile-language-trigger {
        background: rgba(255,255,255,.15);
    }
    .landing-v8 .mf-mobile-language-trigger .mf-language-flag {
        grid-area: flag;
        width: 25px;
        height: 17px;
        justify-self: center;
        border-radius: 3px;
        object-fit: cover;
    }
    .landing-v8 .mf-mobile-language-name {
        grid-area: name;
        min-width: 0;
        overflow: hidden;
        color: #fff;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: left;
        font-size: 12px;
        font-weight: 800;
        unicode-bidi: isolate;
    }
    .landing-v8 .mf-mobile-language-trigger small {
        display: none;
        color: #fff;
        font-size: 11px;
        font-weight: 800;
    }
    .landing-v8 .mf-mobile-language-trigger svg {
        grid-area: arrow;
        width: 14px;
        height: 14px;
        transition: transform .2s ease;
    }
    .landing-v8 .mf-mobile-language.open .mf-mobile-language-trigger svg { transform: rotate(180deg); }

    .landing-v8 .mf-mobile-login-link {
        min-height: 39px;
        padding: 7px 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        color: #fff;
        border: 1px solid rgba(255,255,255,.23);
        border-radius: 8px;
        background: rgba(255,255,255,.08);
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
        direction: rtl;
    }

    .landing-v8 .mf-mobile-language-menu {
        position: fixed !important;
        z-index: 250;
        top: 58px !important;
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        max-height: min(430px, calc(100dvh - 78px)) !important;
        padding: 10px !important;
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden !important;
        opacity: 0 !important;
        border: 1px solid #dfe8e5 !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 22px 60px rgba(4, 42, 38, .28) !important;
        transform: translateY(-8px) !important;
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    }
    .landing-v8 .mf-mobile-language.open .mf-mobile-language-menu {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .landing-v8 .mf-mobile-language-menu .mf-language-menu-title {
        min-height: 36px;
        padding: 7px 10px 9px;
        display: flex;
        align-items: center;
        color: #6b7673;
        font-size: 13px;
        font-weight: 800;
    }
    .landing-v8 .mf-mobile-language-menu a,
    html[dir="rtl"] .landing-v8 .mf-mobile-language-menu a,
    html[dir="ltr"] .landing-v8 .mf-mobile-language-menu a {
        min-height: 54px;
        padding: 8px 10px;
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr) 42px 20px;
        grid-template-areas: "flag name code check";
        align-items: center;
        gap: 9px;
        direction: ltr !important;
        border-radius: 8px;
    }
    .landing-v8 .mf-mobile-language-menu a .mf-language-option-name {
        grid-area: name;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: left !important;
        font-size: 15px;
        font-weight: 800;
        unicode-bidi: isolate;
    }
    .landing-v8 .mf-mobile-language-menu a .mf-language-flag { grid-area: flag; }
    .landing-v8 .mf-mobile-language-menu a > small { grid-area: code; justify-self: center; }
    .landing-v8 .mf-mobile-language-menu a > i { grid-area: check; justify-self: center; }

    /* Full-screen menu under the permanent mobile bar. */
    .landing-v8 .mf-nav {
        position: fixed !important;
        z-index: 210;
        top: 64px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100dvh - 64px) !important;
        max-height: none !important;
        padding: 22px 16px max(20px, env(safe-area-inset-bottom)) !important;
        display: flex !important;
        flex-direction: column;
        gap: 16px !important;
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        color: var(--mf-ink);
        border: 0 !important;
        border-top: 1px solid rgba(6, 73, 65, .1) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        transform: translateY(-10px) !important;
        pointer-events: none;
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
    }
    .landing-v8 .mf-nav.open {
        visibility: visible;
        opacity: 1;
        transform: none !important;
        pointer-events: auto;
    }
    .landing-v8 .mf-nav-links {
        display: grid;
        gap: 6px;
    }
    .landing-v8 .mf-nav-links a {
        min-height: 58px;
        padding: 14px 15px;
        display: flex;
        align-items: center;
        color: var(--mf-ink);
        border: 1px solid transparent;
        border-radius: 11px;
        background: #f7faf9;
        font-size: 18px;
        font-weight: 800;
    }
    .landing-v8 .mf-nav-links a:hover,
    .landing-v8 .mf-nav-links a.active {
        color: var(--mf-brand);
        border-color: #dce9e6;
        background: var(--mf-brand-soft);
    }
    .landing-v8 .mf-nav-actions {
        margin-top: auto;
        padding-top: 16px;
        display: grid;
        gap: 10px;
        border-top: 1px solid var(--mf-line);
    }
    .landing-v8 .mf-nav-actions .mf-desktop-language,
    .landing-v8 .mf-nav-actions .mf-desktop-login-link {
        display: none !important;
    }
    .landing-v8 .mf-nav-cta {
        width: 100%;
        min-height: 52px;
        margin: 0;
        font-size: 15px;
    }

    /* The fixed bar must not cover the hero/blog content. */
    .landing-v8 .mf-site-header + .mf-hero-grid,
    .landing-v8 .mf-site-header.is-fixed-enabled + .mf-hero-grid {
        padding-top: 88px !important;
    }
    .landing-v8 .mf-hero-nav-only { padding-top: 64px; }
    .landing-v8 .mf-blog-heading { padding-top: 105px; }
}

@media (max-width: 390px) {
    .landing-v8 .mf-site-header .mf-container.mf-nav-shell {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: 5px;
        padding-inline: 7px;
    }
    html[dir="ltr"] .landing-v8 .mf-site-header .mf-container.mf-nav-shell {
        grid-template-columns: auto minmax(0, 1fr) 40px;
    }
    .landing-v8 .mf-brand-word { font-size: 16px; }
    .landing-v8 .mf-brand-mark { width: 7px; height: 16px; }
    .landing-v8 .mf-mobile-toggle { width: 40px; height: 40px; }
    .landing-v8 .mf-mobile-quick-actions { gap: 4px; }
    .landing-v8 .mf-mobile-language-trigger {
        min-width: 74px;
        max-width: 86px;
        grid-template-columns: 24px auto 13px;
        grid-template-areas: "flag code arrow";
        padding-inline: 6px;
        gap: 4px;
    }
    .landing-v8 .mf-mobile-language-name { display: none; }
    .landing-v8 .mf-mobile-language-trigger small {
        grid-area: code;
        display: block;
        justify-self: center;
    }
    .landing-v8 .mf-mobile-login-link { padding-inline: 8px; font-size: 11px; }
}
/* MENUFLOW_LANDING_V8_FULLSCREEN_MOBILE_HEADER_END */

/* MENUFLOW_LANDING_V8_MOBILE_MENU_SHEET_MATCH_START */
@media (max-width: 820px) {
    .landing-v8 .mf-nav {
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        padding: 88px 0 0 !important;
        justify-content: flex-end;
        gap: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: translateY(-6px) !important;
    }
    .landing-v8 .mf-nav::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(5, 78, 69, .78) 0%, rgba(7, 84, 73, .72) 100%);
        backdrop-filter: blur(2px);
    }
    .landing-v8 .mf-nav.open {
        transform: none !important;
    }
    .landing-v8 .mf-nav-links,
    .landing-v8 .mf-nav-actions {
        position: relative;
        z-index: 1;
        width: 100%;
        background: #fff;
    }
    .landing-v8 .mf-nav-links {
        min-height: min(34vh, 320px);
        padding: 30px 22px 20px;
        display: grid;
        align-content: start;
        gap: 18px;
        border-radius: 28px 28px 0 0;
        box-shadow: 0 -10px 34px rgba(8, 32, 29, .08);
    }
    .landing-v8 .mf-nav-links a {
        min-height: auto;
        padding: 0;
        display: block;
        text-align: right;
        color: #111;
        border: 0;
        border-radius: 0;
        background: transparent;
        font-size: 16px;
        font-weight: 800;
        line-height: 2;
    }
    .landing-v8 .mf-nav-links a:hover,
    .landing-v8 .mf-nav-links a.active {
        color: var(--mf-brand);
        border-color: transparent;
        background: transparent;
    }
    .landing-v8 .mf-nav-actions {
        margin-top: 0;
        padding: 22px 20px max(24px, env(safe-area-inset-bottom));
        display: grid;
        gap: 12px;
        border-top: 1px solid #e7ecea;
    }
    .landing-v8 .mf-nav-actions .mf-desktop-language {
        display: none !important;
    }
    .landing-v8 .mf-nav-actions .mf-desktop-login-link {
        min-height: 52px;
        width: 100%;
        padding: 12px 16px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        color: #0f1715;
        border: 1px solid #dce3e0;
        border-radius: 12px;
        background: #fff;
        font-size: 15px;
        font-weight: 800;
    }
    .landing-v8 .mf-nav-cta {
        width: 100%;
        min-height: 52px;
        margin: 0;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 800;
    }
}

@media (max-width: 390px) {
    .landing-v8 .mf-nav { padding-top: 82px !important; }
    .landing-v8 .mf-nav-links {
        min-height: min(32vh, 280px);
        padding: 28px 20px 18px;
        gap: 16px;
        border-radius: 26px 26px 0 0;
    }
    .landing-v8 .mf-nav-links a {
        font-size: 15px;
    }
    .landing-v8 .mf-nav-actions {
        padding: 18px 18px max(22px, env(safe-area-inset-bottom));
        gap: 10px;
    }
    .landing-v8 .mf-nav-actions .mf-desktop-login-link,
    .landing-v8 .mf-nav-cta {
        min-height: 50px;
        font-size: 14px;
    }
}
/* MENUFLOW_LANDING_V8_MOBILE_MENU_SHEET_MATCH_END */

/* MENUFLOW_LANDING_V10_MOBILE_MENU_REFERENCE_EXACT_START */
.landing-v8 .mf-nav-close { display: none; }

@media (max-width: 820px) {
    /* The overlay now covers the header like the reference image. */
    .landing-v8 .mf-nav {
        z-index: 245 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        padding: 0 !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        overflow: hidden !important;
        background: rgba(4, 72, 64, .82) !important;
        backdrop-filter: blur(1.8px);
        transform: none !important;
    }
    .landing-v8 .mf-nav::before { display: none !important; }

    /* A dedicated visible X button, independent from the covered header button. */
    .landing-v8 .mf-nav-close {
        position: fixed;
        z-index: 4;
        top: 26px;
        left: 21px;
        width: 42px;
        height: 42px;
        padding: 0;
        display: block;
        color: #fff;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 10px;
        background: rgba(255, 255, 255, .11);
        box-shadow: 0 5px 18px rgba(0, 0, 0, .08);
        cursor: pointer;
    }
    .landing-v8 .mf-nav-close span {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        transform-origin: center;
    }
    .landing-v8 .mf-nav-close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
    .landing-v8 .mf-nav-close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }

    /* White bottom sheet dimensions and spacing aligned with screenshot 13. */
    .landing-v8 .mf-nav-links {
        position: relative;
        z-index: 1;
        flex: 0 0 176px;
        min-height: 176px;
        width: 100%;
        padding: 27px 22px 19px !important;
        display: grid !important;
        align-content: start;
        gap: 12px !important;
        border-radius: 25px 25px 0 0 !important;
        background: #fff !important;
        box-shadow: 0 -8px 28px rgba(6, 42, 37, .08);
    }
    .landing-v8 .mf-nav-links a {
        min-height: 36px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        color: #0d0f0e !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.55;
    }
    html[dir="rtl"] .landing-v8 .mf-nav-links a { text-align: right; }
    html[dir="ltr"] .landing-v8 .mf-nav-links a { text-align: left; }
    .landing-v8 .mf-nav-links a:hover,
    .landing-v8 .mf-nav-links a.active {
        color: var(--mf-brand) !important;
        background: transparent !important;
    }

    .landing-v8 .mf-nav-actions {
        position: relative;
        z-index: 1;
        flex: 0 0 166px;
        min-height: 166px;
        width: 100%;
        margin: 0 !important;
        padding: 22px 20px max(23px, env(safe-area-inset-bottom)) !important;
        display: grid !important;
        align-content: start;
        gap: 11px !important;
        border-top: 1px solid #e5e9e7 !important;
        background: #fff !important;
    }
    .landing-v8 .mf-nav-actions .mf-desktop-language { display: none !important; }
    .landing-v8 .mf-nav-actions .mf-desktop-login-link {
        min-height: 48px !important;
        width: 100%;
        padding: 10px 16px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        color: #0d0f0e !important;
        border: 1px solid #d9dfdc !important;
        border-radius: 9px !important;
        background: #fff !important;
        font-size: 15px !important;
        font-weight: 800 !important;
    }
    .landing-v8 .mf-nav-cta {
        min-height: 48px !important;
        width: 100%;
        margin: 0 !important;
        padding: 10px 16px !important;
        border-radius: 9px !important;
        font-size: 15px !important;
        font-weight: 800 !important;
    }

    /* The normal hamburger sits under the overlay; use the dedicated X above. */
    body.landing-v8.mf-mobile-nav-open .mf-mobile-toggle { visibility: hidden; }
}

@media (max-width: 390px) {
    .landing-v8 .mf-nav-close {
        top: 24px;
        left: 18px;
        width: 40px;
        height: 40px;
    }
    .landing-v8 .mf-nav-links {
        flex-basis: 170px;
        min-height: 170px;
        padding: 25px 20px 17px !important;
        gap: 10px !important;
        border-radius: 23px 23px 0 0 !important;
    }
    .landing-v8 .mf-nav-links a {
        min-height: 34px !important;
        font-size: 15px !important;
    }
    .landing-v8 .mf-nav-actions {
        flex-basis: 158px;
        min-height: 158px;
        padding: 19px 18px max(21px, env(safe-area-inset-bottom)) !important;
        gap: 10px !important;
    }
    .landing-v8 .mf-nav-actions .mf-desktop-login-link,
    .landing-v8 .mf-nav-cta {
        min-height: 46px !important;
        font-size: 14px !important;
    }
}
/* MENUFLOW_LANDING_V10_MOBILE_MENU_REFERENCE_EXACT_END */

/* MENUFLOW_LANDING_V11_MOBILE_MENU_CENTER_LINKS_START */
@media (max-width: 820px) {
    .landing-v8 .mf-nav-links {
        justify-items: center;
    }

    .landing-v8 .mf-nav-links a,
    html[dir="rtl"] .landing-v8 .mf-nav-links a,
    html[dir="ltr"] .landing-v8 .mf-nav-links a {
        width: max-content;
        max-width: 100%;
        margin-inline: auto !important;
        justify-self: center;
        justify-content: center !important;
        text-align: center !important;
    }
}
/* MENUFLOW_LANDING_V11_MOBILE_MENU_CENTER_LINKS_END */

/* MENUFLOW_LANDING_V12_CLIENT_SHOWCASE_MATCH_START */
/* Trust section matched to the Menux reference: generous white space, large clean logos and floating country badges. */
.landing-v8 .mf-clients {
    padding: 56px 0 52px;
    overflow: hidden;
    background: #fff;
}
.landing-v8 .mf-clients .mf-container {
    width: min(100% - 32px, 1180px);
}
.landing-v8 .mf-clients h2 {
    max-width: 760px;
    margin: 0 auto 34px;
    color: #111714;
    text-align: center;
    font-size: clamp(20px, 1.55vw, 25px);
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: -.25px;
    text-wrap: balance;
}
.landing-v8 .mf-client-slider {
    --client-duration: 42s;
    width: min(100%, 1510px);
    padding: 8px 0 18px;
    overflow: hidden;
    direction: ltr;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
}
.landing-v8 .mf-client-track {
    gap: 0;
    align-items: center;
    animation-duration: var(--client-duration);
}
.landing-v8 .mf-client-group {
    gap: 34px;
    padding-inline: 17px;
}
.landing-v8 .mf-client-logo {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 18px;
    background: transparent;
    box-shadow: none;
    transition: transform .2s ease, filter .2s ease;
}
.landing-v8 .mf-client-logo:hover {
    transform: translateY(-4px) scale(1.035);
    box-shadow: none;
    filter: drop-shadow(0 10px 12px rgba(17, 48, 43, .12));
}
.landing-v8 .mf-client-logo-frame {
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 18px;
    background: transparent;
}
.landing-v8 .mf-client-logo .mf-client-logo-image,
.landing-v8 .mf-client-monogram {
    width: 78px;
    height: 78px;
    border-radius: 17px;
}
.landing-v8 .mf-client-logo .mf-client-logo-image {
    display: block;
    object-fit: contain;
}
.landing-v8 .mf-client-monogram {
    font-size: 20px;
    box-shadow: inset 0 0 0 1px rgba(12, 64, 56, .06);
}
.landing-v8 .mf-client-logo .mf-client-flag,
html[dir="ltr"] .landing-v8 .mf-client-logo .mf-client-flag {
    top: -8px;
    right: -5px;
    left: auto;
    width: 25px;
    height: 25px;
    padding: 0;
    object-fit: cover;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(13, 45, 40, .18);
}
.landing-v8 .mf-client-slider.is-static {
    display: flex;
    justify-content: center;
}

@media (max-width: 820px) {
    .landing-v8 .mf-clients {
        padding: 42px 0 38px;
    }
    .landing-v8 .mf-clients h2 {
        max-width: 430px;
        margin-bottom: 27px;
        padding-inline: 12px;
        font-size: 18px;
        line-height: 1.75;
    }
    .landing-v8 .mf-client-slider {
        padding-bottom: 12px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
    }
    .landing-v8 .mf-client-group {
        gap: 22px;
        padding-inline: 11px;
    }
    .landing-v8 .mf-client-logo {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }
    .landing-v8 .mf-client-logo-frame {
        width: 72px;
        height: 72px;
    }
    .landing-v8 .mf-client-logo .mf-client-logo-image,
    .landing-v8 .mf-client-monogram {
        width: 68px;
        height: 68px;
        border-radius: 15px;
    }
    .landing-v8 .mf-client-logo .mf-client-flag,
    html[dir="ltr"] .landing-v8 .mf-client-logo .mf-client-flag {
        top: -7px;
        right: -5px;
        width: 23px;
        height: 23px;
    }
}

@media (max-width: 480px) {
    .landing-v8 .mf-clients {
        padding: 36px 0 32px;
    }
    .landing-v8 .mf-clients h2 {
        margin-bottom: 23px;
        font-size: 16px;
    }
    .landing-v8 .mf-client-group {
        gap: 17px;
        padding-inline: 9px;
    }
    .landing-v8 .mf-client-logo {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }
    .landing-v8 .mf-client-logo-frame {
        width: 64px;
        height: 64px;
    }
    .landing-v8 .mf-client-logo .mf-client-logo-image,
    .landing-v8 .mf-client-monogram {
        width: 61px;
        height: 61px;
        border-radius: 14px;
    }
}
/* MENUFLOW_LANDING_V12_CLIENT_SHOWCASE_MATCH_END */

/* MENUFLOW_MULTI_RESTAURANT_TEMPLATES_START */
.category-pill-image { display: none; }
.category-catalog-view[hidden],
.category-catalog-panel[hidden] { display: none !important; }

/* 1) Wide visual list — close to the wide Menux restaurant pages. */
.menu-display-wide_list.menu-body { background: #f2f2f2; }
.menu-display-wide_list .menu-shell {
    width: min(768px, 100%);
    background: #fff;
    box-shadow: 0 0 36px rgba(20, 28, 27, .08);
}
.menu-display-wide_list .menu-topbar {
    height: 52px;
    padding: 7px 18px;
}
.menu-display-wide_list .menu-cover {
    height: 340px;
    margin: 0 16px;
    border-radius: 12px;
}
.menu-display-wide_list .menu-identity {
    min-height: 102px;
    padding: 18px 18px 16px;
    padding-inline-start: 126px;
    padding-inline-end: 100px;
}
.menu-display-wide_list .menu-logo {
    right: 22px;
    top: -36px;
    width: 96px;
    height: 96px;
    border-width: 5px;
    border-radius: 18px;
}
.menu-display-wide_list .menu-identity h1 { font-size: 22px; }
.menu-display-wide_list .menu-identity p { font-size: 12px; }
.menu-display-wide_list .open-pill { left: 20px; bottom: 22px; font-size: 9px; }
.menu-display-wide_list .category-strip {
    position: sticky;
    top: 0;
    min-height: 104px;
    padding: 10px 12px 9px;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 0;
    background: rgba(255, 255, 255, .97);
}
.menu-display-wide_list .category-pill {
    width: 76px;
    min-width: 76px;
    padding: 0;
    display: grid;
    justify-items: center;
    gap: 6px;
    color: #222;
    text-align: center;
    border-radius: 0;
    background: transparent;
    font-size: 10px;
    line-height: 1.25;
}
.menu-display-wide_list .category-pill-image {
    width: 58px;
    height: 58px;
    display: block;
    overflow: hidden;
    border: 3px solid transparent;
    border-radius: 50%;
    background: #f1f3f2;
    transition: .18s ease;
}
.menu-display-wide_list .category-pill-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.menu-display-wide_list .category-pill.active,
.menu-display-wide_list .category-pill:hover {
    color: var(--brand);
    background: transparent;
}
.menu-display-wide_list .category-pill.active .category-pill-image,
.menu-display-wide_list .category-pill:hover .category-pill-image {
    border-color: color-mix(in srgb, var(--brand) 65%, white);
    transform: translateY(-1px);
}
.menu-display-wide_list .menu-content { padding: 4px 18px 105px; }
.menu-display-wide_list .menu-category { padding-top: 22px; }
.menu-display-wide_list .menu-category h2 {
    margin-bottom: 10px;
    font-size: 19px;
}
.menu-display-wide_list .public-product {
    min-height: 118px;
    padding: 14px 0;
    grid-template-columns: minmax(0, 1fr) 96px;
    gap: 18px;
}
.menu-display-wide_list .public-product h3 { font-size: 15px; }
.menu-display-wide_list .public-product p { font-size: 11px; }
.menu-display-wide_list .public-product img {
    width: 96px;
    height: 92px;
    border: 1px solid #eceeed;
    border-radius: 10px;
}
.menu-display-wide_list .public-price { color: var(--brand); font-size: 13px; }
.menu-display-wide_list .cart-fab { width: min(736px, calc(100% - 32px)); }

/* 2) Compact list — the narrow Menux style. */
.menu-display-compact_list .menu-shell { width: min(480px, 100%); }
.menu-display-compact_list .category-pill-image { display: none; }

/* 3) Dark visual grid — close to Dynamyt / burger menus. */
.menu-display-dark_grid.menu-body { background: #1b1b1b; }
.menu-display-dark_grid .menu-shell {
    width: min(480px, 100%);
    color: #f5f5f5;
    background: #070707;
    box-shadow: 0 0 42px rgba(0, 0, 0, .32);
}
.menu-display-dark_grid .menu-topbar,
.menu-display-dark_grid .category-strip,
.menu-display-dark_grid .public-product { background: #070707; }
.menu-display-dark_grid .menu-icon-action,
.menu-display-dark_grid .order-type-trigger { color: #eee; }
.menu-display-dark_grid .menu-icon-action:hover { background: #1a1a1a; }
.menu-display-dark_grid .order-type-symbol { color: var(--accent); background: #24201f; }
.menu-display-dark_grid .menu-cover {
    height: 242px;
    margin: 0 8px;
    border-radius: 10px;
    background: #151515;
}
.menu-display-dark_grid .menu-identity {
    min-height: 82px;
    padding-inline-start: 90px;
    padding-inline-end: 70px;
}
.menu-display-dark_grid .menu-logo {
    right: 13px;
    top: -27px;
    width: 70px;
    height: 70px;
    border-color: #0a0a0a;
    background: #111;
}
.menu-display-dark_grid .menu-identity h1 { color: var(--accent); font-size: 17px; }
.menu-display-dark_grid .menu-identity p,
.menu-display-dark_grid .muted,
.menu-display-dark_grid .public-product p { color: #a7a7a7; }
.menu-display-dark_grid .category-strip {
    padding: 8px 10px;
    border-color: #1b1b1b;
}
.menu-display-dark_grid .category-pill {
    color: #eee;
    background: #171313;
    border: 1px solid #211919;
}
.menu-display-dark_grid .category-pill.active,
.menu-display-dark_grid .category-pill:hover {
    color: #111;
    background: var(--accent);
}
.menu-display-dark_grid .menu-content { padding: 4px 8px 92px; }
.menu-display-dark_grid .menu-category { padding-top: 14px; }
.menu-display-dark_grid .menu-category h2 {
    padding-inline: 4px;
    color: #fff;
    font-size: 15px;
}
.menu-display-dark_grid .public-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.menu-display-dark_grid .public-product {
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
    overflow: hidden;
    text-align: right;
    border: 1px solid #191919;
    border-radius: 6px;
    background: #090909;
}
.menu-display-dark_grid .public-product-info { padding: 8px 8px 9px; }
.menu-display-dark_grid .public-product h3 {
    margin-bottom: 3px;
    color: #fff;
    font-size: 11px;
    line-height: 1.35;
}
.menu-display-dark_grid .public-product p {
    min-height: 24px;
    margin-bottom: 5px;
    font-size: 8px;
    line-height: 1.45;
}
.menu-display-dark_grid .public-product-image,
.menu-display-dark_grid .public-product img {
    width: 100%;
    height: 132px;
    border-radius: 0;
    background: #141414;
}
.menu-display-dark_grid.image-ratio-square .public-product-image,
.menu-display-dark_grid.image-ratio-square .public-product img { height: auto; aspect-ratio: 1; }
.menu-display-dark_grid .public-price { color: var(--accent); font-size: 10px; }
.menu-display-dark_grid .old-price { color: #777; }
.menu-display-dark_grid .public-product-image i {
    left: 6px;
    bottom: 6px;
    color: #111;
    background: var(--accent);
}
.menu-display-dark_grid .menu-search-panel,
.menu-display-dark_grid .input,
.menu-display-dark_grid .select,
.menu-display-dark_grid .textarea {
    color: #fff;
    border-color: #292929;
    background: #111;
}
.menu-display-dark_grid .menu-about,
.menu-display-dark_grid .review-section,
.menu-display-dark_grid .platform-promo { color: #ccc; background: #101010; }
.menu-display-dark_grid .platform-credit { color: #858585; }
.menu-display-dark_grid .cart-fab { width: min(456px, calc(100% - 24px)); }

/* 4) Category catalog — Rashfa-style first screen. */
.menu-display-category_catalog.menu-body { background: #1b1b1b; }
.menu-display-category_catalog .menu-shell {
    width: min(480px, 100%);
    color: #f6f6f6;
    background: #111;
    box-shadow: 0 0 40px rgba(0, 0, 0, .28);
}
.menu-display-category_catalog .menu-topbar { background: #111; }
.menu-display-category_catalog .menu-icon-action,
.menu-display-category_catalog .order-type-trigger { color: #f1f1f1; }
.menu-display-category_catalog .menu-cover {
    height: 230px;
    margin: 0 8px;
    border-radius: 10px;
    background: #1a1a1a;
}
.menu-display-category_catalog .menu-identity {
    min-height: 90px;
    padding-inline-start: 92px;
    padding-inline-end: 70px;
}
.menu-display-category_catalog .menu-logo {
    right: 14px;
    top: -27px;
    width: 70px;
    height: 70px;
    border-color: #111;
    background: #171717;
}
.menu-display-category_catalog .menu-identity h1 { color: var(--accent); font-size: 17px; }
.menu-display-category_catalog .menu-identity p { color: #8f8f8f; }
.menu-display-category_catalog .menu-content { padding: 8px 10px 80px; }
.category-catalog-view { padding: 8px 0 20px; }
.category-catalog-view > h2 {
    margin: 0 0 13px;
    color: #fff;
    font-size: 18px;
}
.category-catalog-list { display: grid; gap: 7px; }
.category-catalog-row {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 8px;
    color: #f5f5f5;
    text-align: right;
    border: 1px solid #251919;
    border-radius: 5px;
    background: #160c0d;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
}
.category-catalog-row:hover { border-color: color-mix(in srgb, var(--accent) 55%, #251919); }
.category-catalog-row small { color: #777; font-size: 8px; font-weight: 500; }
.category-catalog-row i { color: #aaa; font-size: 20px; font-style: normal; text-align: left; }
.category-catalog-back {
    margin: 0 0 13px;
    padding: 0;
    color: var(--accent);
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}
.menu-display-category_catalog .category-catalog-panel { padding-top: 8px; }
.menu-display-category_catalog .category-catalog-panel h2 { color: #fff; font-size: 17px; }
.menu-display-category_catalog .public-product {
    color: #f4f4f4;
    border-color: #252525;
    background: #111;
}
.menu-display-category_catalog .public-product p,
.menu-display-category_catalog .muted { color: #8f8f8f; }
.menu-display-category_catalog .public-price { color: var(--accent); }
.menu-display-category_catalog .menu-about,
.menu-display-category_catalog .review-section,
.menu-display-category_catalog .platform-promo { color: #ccc; background: #171717; }
.menu-display-category_catalog .platform-credit { color: #777; }

@media (max-width: 820px) {
    .menu-display-wide_list .menu-shell { box-shadow: none; }
    .menu-display-wide_list .menu-cover { height: min(44vw, 330px); }
}

@media (max-width: 560px) {
    .menu-display-wide_list .menu-cover {
        height: min(58vw, 255px);
        margin-inline: 8px;
    }
    .menu-display-wide_list .menu-identity {
        min-height: 82px;
        padding-inline-start: 92px;
        padding-inline-end: 72px;
    }
    .menu-display-wide_list .menu-logo {
        right: 14px;
        top: -28px;
        width: 72px;
        height: 72px;
        border-width: 4px;
        border-radius: 13px;
    }
    .menu-display-wide_list .menu-identity h1 { font-size: 18px; }
    .menu-display-wide_list .category-strip {
        min-height: 92px;
        padding-inline: 8px;
        gap: 8px;
    }
    .menu-display-wide_list .category-pill {
        width: 66px;
        min-width: 66px;
        font-size: 9px;
    }
    .menu-display-wide_list .category-pill-image { width: 52px; height: 52px; }
    .menu-display-wide_list .menu-content { padding-inline: 12px; }
    .menu-display-wide_list .public-product {
        min-height: 92px;
        grid-template-columns: minmax(0, 1fr) 76px;
        gap: 11px;
    }
    .menu-display-wide_list .public-product img { width: 76px; height: 72px; }

    .menu-display-dark_grid .public-product-image,
    .menu-display-dark_grid .public-product img { height: 112px; }
}
/* MENUFLOW_MULTI_RESTAURANT_TEMPLATES_END */

/* MENUFLOW_DARK_GRID_WIDE_DESKTOP_START */
/* Keep the dark visual menu as wide and readable as the wide light template. */
@media (min-width: 821px) {
    .menu-display-dark_grid .menu-shell {
        width: min(768px, 100%);
    }

    .menu-display-dark_grid .menu-topbar {
        min-height: 58px;
        padding-inline: 16px;
    }

    .menu-display-dark_grid .menu-cover {
        height: 318px;
        margin: 0 12px;
        border-radius: 12px;
    }

    .menu-display-dark_grid .menu-identity {
        min-height: 104px;
        padding-inline-start: 118px;
        padding-inline-end: 94px;
    }

    .menu-display-dark_grid .menu-logo {
        right: 20px;
        top: -34px;
        width: 92px;
        height: 92px;
    }

    .menu-display-dark_grid .menu-identity h1 {
        font-size: 22px;
    }

    .menu-display-dark_grid .menu-identity p {
        font-size: 12px;
    }

    .menu-display-dark_grid .category-strip {
        min-height: 66px;
        padding: 10px 14px;
        gap: 8px;
    }

    .menu-display-dark_grid .category-pill {
        min-height: 36px;
        padding-inline: 14px;
        font-size: 11px;
    }

    .menu-display-dark_grid .menu-content {
        padding: 6px 12px 104px;
    }

    .menu-display-dark_grid .menu-category {
        padding-top: 20px;
    }

    .menu-display-dark_grid .menu-category h2 {
        margin-bottom: 10px;
        padding-inline: 4px;
        font-size: 18px;
    }

    .menu-display-dark_grid .public-products {
        gap: 12px;
    }

    .menu-display-dark_grid .public-product {
        border-radius: 8px;
    }

    .menu-display-dark_grid .public-product-image,
    .menu-display-dark_grid .public-product img {
        height: 238px;
    }

    .menu-display-dark_grid .public-product-info {
        padding: 11px 12px 13px;
    }

    .menu-display-dark_grid .public-product h3 {
        font-size: 14px;
        line-height: 1.45;
    }

    .menu-display-dark_grid .public-product p {
        min-height: 34px;
        font-size: 10px;
        line-height: 1.6;
    }

    .menu-display-dark_grid .public-price {
        font-size: 13px;
    }

    .menu-display-dark_grid .cart-fab {
        width: min(744px, calc(100% - 32px));
    }
}

@media (max-width: 820px) {
    .menu-display-dark_grid .menu-shell {
        width: 100%;
    }

    .menu-display-dark_grid .public-product-image,
    .menu-display-dark_grid .public-product img {
        height: clamp(118px, 35vw, 168px);
    }
}
/* MENUFLOW_DARK_GRID_WIDE_DESKTOP_END */

/* MENUFLOW_UNIFIED_RESTAURANT_WIDTH_AND_TYPE_SCALE_START */
/*
 * Keep every public restaurant template on one desktop canvas.
 * Mobile remains fluid while typography gets a small readability boost.
 */
@media (min-width: 821px) {
    .menu-display-wide_list .menu-shell,
    .menu-display-compact_list .menu-shell,
    .menu-display-dark_grid .menu-shell,
    .menu-display-category_catalog .menu-shell {
        width: min(768px, 100%) !important;
    }

    .menu-display-wide_list .cart-fab,
    .menu-display-compact_list .cart-fab,
    .menu-display-dark_grid .cart-fab,
    .menu-display-category_catalog .cart-fab {
        width: min(744px, calc(100% - 32px)) !important;
    }

    .menu-display-wide_list .menu-sheet-panel,
    .menu-display-compact_list .menu-sheet-panel,
    .menu-display-dark_grid .menu-sheet-panel,
    .menu-display-category_catalog .menu-sheet-panel,
    .menu-display-wide_list .menu-reference-panel,
    .menu-display-compact_list .menu-reference-panel,
    .menu-display-dark_grid .menu-reference-panel,
    .menu-display-category_catalog .menu-reference-panel {
        width: min(768px, 100%) !important;
    }

    /* Shared desktop header scale. */
    .menu-display-wide_list .menu-topbar,
    .menu-display-compact_list .menu-topbar,
    .menu-display-dark_grid .menu-topbar,
    .menu-display-category_catalog .menu-topbar {
        min-height: 56px;
        padding-inline: 17px;
    }
    .menu-display-wide_list .menu-icon-action,
    .menu-display-compact_list .menu-icon-action,
    .menu-display-dark_grid .menu-icon-action,
    .menu-display-category_catalog .menu-icon-action {
        width: 33px;
        height: 33px;
    }
    .menu-display-wide_list .order-type-trigger,
    .menu-display-compact_list .order-type-trigger,
    .menu-display-dark_grid .order-type-trigger,
    .menu-display-category_catalog .order-type-trigger {
        font-size: 12px;
    }

    /* The compact template now uses the same canvas without looking stretched. */
    .menu-display-compact_list .menu-cover {
        height: 318px;
        margin-inline: 12px;
        border-radius: 12px;
    }
    .menu-display-compact_list .menu-identity {
        min-height: 104px;
        padding: 18px;
        padding-inline-start: 118px;
        padding-inline-end: 96px;
    }
    .menu-display-compact_list .menu-logo {
        right: 20px;
        top: -34px;
        width: 92px;
        height: 92px;
        border-width: 5px;
        border-radius: 17px;
    }
    .menu-display-compact_list .menu-content {
        padding: 5px 18px 106px;
    }
    .menu-display-compact_list .public-product {
        min-height: 118px;
        padding-block: 14px;
        grid-template-columns: minmax(0, 1fr) 96px;
        gap: 17px;
    }
    .menu-display-compact_list .public-product img {
        width: 96px;
        height: 92px;
        border-radius: 11px;
    }

    /* The category-first dark template gets the same full desktop width. */
    .menu-display-category_catalog .menu-cover {
        height: 318px;
        margin-inline: 12px;
        border-radius: 12px;
    }
    .menu-display-category_catalog .menu-identity {
        min-height: 104px;
        padding: 18px;
        padding-inline-start: 118px;
        padding-inline-end: 96px;
    }
    .menu-display-category_catalog .menu-logo {
        right: 20px;
        top: -34px;
        width: 92px;
        height: 92px;
        border-width: 5px;
        border-radius: 17px;
    }
    .menu-display-category_catalog .menu-content {
        padding: 12px 16px 96px;
    }
    .menu-display-category_catalog .category-catalog-view {
        padding-top: 12px;
    }
    .menu-display-category_catalog .category-catalog-list {
        gap: 9px;
    }
    .menu-display-category_catalog .category-catalog-row {
        min-height: 58px;
        padding: 13px 15px;
        border-radius: 7px;
        font-size: 14px;
    }
    .menu-display-category_catalog .category-catalog-row small {
        font-size: 10px;
    }
    .menu-display-category_catalog .category-catalog-row i {
        font-size: 23px;
    }

    /* Slight, consistent typography increase across every design. */
    .menu-display-wide_list .menu-identity h1,
    .menu-display-compact_list .menu-identity h1,
    .menu-display-dark_grid .menu-identity h1,
    .menu-display-category_catalog .menu-identity h1 {
        font-size: 23px !important;
        line-height: 1.4;
    }
    .menu-display-wide_list .menu-identity p,
    .menu-display-compact_list .menu-identity p,
    .menu-display-dark_grid .menu-identity p,
    .menu-display-category_catalog .menu-identity p {
        font-size: 13px !important;
        line-height: 1.65;
    }
    .menu-display-wide_list .open-pill,
    .menu-display-compact_list .open-pill,
    .menu-display-dark_grid .open-pill,
    .menu-display-category_catalog .open-pill {
        font-size: 10px !important;
    }
    .menu-display-wide_list .category-pill,
    .menu-display-compact_list .category-pill,
    .menu-display-dark_grid .category-pill,
    .menu-display-category_catalog .category-pill {
        font-size: 11.5px !important;
    }
    .menu-display-wide_list .menu-category h2,
    .menu-display-compact_list .menu-category h2,
    .menu-display-dark_grid .menu-category h2,
    .menu-display-category_catalog .menu-category h2,
    .menu-display-category_catalog .category-catalog-view > h2 {
        font-size: 20px !important;
        line-height: 1.45;
    }
    .menu-display-wide_list .public-product h3,
    .menu-display-compact_list .public-product h3,
    .menu-display-dark_grid .public-product h3,
    .menu-display-category_catalog .public-product h3 {
        font-size: 15px !important;
        line-height: 1.5;
    }
    .menu-display-wide_list .public-product p,
    .menu-display-compact_list .public-product p,
    .menu-display-dark_grid .public-product p,
    .menu-display-category_catalog .public-product p {
        font-size: 11px !important;
        line-height: 1.65;
    }
    .menu-display-wide_list .public-price,
    .menu-display-compact_list .public-price,
    .menu-display-dark_grid .public-price,
    .menu-display-category_catalog .public-price {
        font-size: 14px !important;
    }
    .menu-display-wide_list .old-price,
    .menu-display-compact_list .old-price,
    .menu-display-dark_grid .old-price,
    .menu-display-category_catalog .old-price {
        font-size: 10px !important;
    }
}

@media (max-width: 820px) {
    .menu-display-wide_list .menu-shell,
    .menu-display-compact_list .menu-shell,
    .menu-display-dark_grid .menu-shell,
    .menu-display-category_catalog .menu-shell {
        width: 100% !important;
        max-width: 100% !important;
    }

    .menu-display-wide_list .menu-identity h1,
    .menu-display-compact_list .menu-identity h1,
    .menu-display-dark_grid .menu-identity h1,
    .menu-display-category_catalog .menu-identity h1 {
        font-size: 19px !important;
    }
    .menu-display-wide_list .menu-identity p,
    .menu-display-compact_list .menu-identity p,
    .menu-display-dark_grid .menu-identity p,
    .menu-display-category_catalog .menu-identity p {
        font-size: 11px !important;
    }
    .menu-display-wide_list .menu-category h2,
    .menu-display-compact_list .menu-category h2,
    .menu-display-dark_grid .menu-category h2,
    .menu-display-category_catalog .menu-category h2,
    .menu-display-category_catalog .category-catalog-view > h2 {
        font-size: 16px !important;
    }
    .menu-display-compact_list .public-product h3,
    .menu-display-dark_grid .public-product h3,
    .menu-display-category_catalog .public-product h3 {
        font-size: 13px !important;
    }
    .menu-display-compact_list .public-product p,
    .menu-display-dark_grid .public-product p,
    .menu-display-category_catalog .public-product p {
        font-size: 9.5px !important;
        line-height: 1.6;
    }
    .menu-display-compact_list .public-price,
    .menu-display-dark_grid .public-price,
    .menu-display-category_catalog .public-price {
        font-size: 11.5px !important;
    }
    .menu-display-category_catalog .category-catalog-row {
        min-height: 52px;
        font-size: 13px;
    }
    .menu-display-category_catalog .category-catalog-row small {
        font-size: 9px;
    }
}
/* MENUFLOW_UNIFIED_RESTAURANT_WIDTH_AND_TYPE_SCALE_END */

/* MENUFLOW_DYNAMYT_FOCUS_V1_START */
/* Restaurant language choices in the dashboard. */
.menu-language-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 9px;
    margin-top: 7px;
}
.menu-language-settings-option {
    min-height: 48px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: 18px 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line, #e0e7e4);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}
.menu-language-settings-option:has(input:checked) {
    border-color: #81afa7;
    background: #edf7f5;
}
.menu-language-settings-option img { border-radius: 4px; object-fit: cover; }
.menu-language-settings-option bdi { font-weight: 800; }
.menu-language-settings-option small { color: #74817d; font-weight: 800; }

/* Five-language selector in the public menu header. */
.menu-language-switcher { position: relative; z-index: 75; }
.menu-language-trigger {
    min-width: 68px;
    height: 38px;
    padding: 5px 8px;
    display: grid;
    grid-template-columns: 27px auto 12px;
    align-items: center;
    gap: 6px;
    color: inherit;
    border: 1px solid #dfe5e2;
    border-radius: 9px;
    background: #fff;
    font: inherit;
    cursor: pointer;
}
.menu-language-trigger img { width: 27px; height: 18px; border-radius: 3px; object-fit: cover; }
.menu-language-trigger b { font-size: 11px; font-weight: 900; }
.menu-language-trigger span { font-size: 13px; transition: transform .18s ease; }
.menu-language-switcher.open .menu-language-trigger span { transform: rotate(180deg); }
.menu-language-dropdown {
    position: absolute;
    z-index: 90;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    width: 224px;
    padding: 7px;
    border: 1px solid #dfe6e3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .22);
}
.menu-language-dropdown[hidden] { display: none !important; }
.menu-language-dropdown a {
    min-height: 48px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 30px 18px;
    align-items: center;
    gap: 8px;
    color: #222;
    border-radius: 8px;
    text-decoration: none;
}
.menu-language-dropdown a:hover,
.menu-language-dropdown a.active { background: #edf5f3; }
.menu-language-dropdown img { border-radius: 4px; object-fit: cover; }
.menu-language-dropdown bdi { min-width: 0; font-size: 14px; font-weight: 800; }
.menu-language-dropdown small { color: #7b8582; font-size: 10px; font-weight: 900; }
.menu-language-dropdown i { color: var(--accent); font-style: normal; opacity: 0; }
.menu-language-dropdown a.active i { opacity: 1; }

/* A real animated cover carousel, not a static cover. */
.menu-cover { touch-action: pan-y; user-select: none; }
.menu-cover-track { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
.menu-cover-slide {
    z-index: 0;
    opacity: 0;
    transform: scale(1.045) translateX(2.5%);
    transition: opacity .72s ease, transform 1.15s cubic-bezier(.2,.72,.2,1);
    will-change: opacity, transform;
}
.menu-cover-slide.active { z-index: 1; opacity: 1; transform: scale(1) translateX(0); }
.menu-cover-slide.cover-enter-next { animation: menuCoverEnterNext .85s cubic-bezier(.2,.72,.2,1) both; }
.menu-cover-slide.cover-enter-prev { animation: menuCoverEnterPrev .85s cubic-bezier(.2,.72,.2,1) both; }
.menu-cover-slide.cover-exit-next { animation: menuCoverExitNext .85s cubic-bezier(.2,.72,.2,1) both; }
.menu-cover-slide.cover-exit-prev { animation: menuCoverExitPrev .85s cubic-bezier(.2,.72,.2,1) both; }
@keyframes menuCoverEnterNext { from { opacity: 0; transform: scale(1.06) translateX(7%); } to { opacity: 1; transform: scale(1) translateX(0); } }
@keyframes menuCoverEnterPrev { from { opacity: 0; transform: scale(1.06) translateX(-7%); } to { opacity: 1; transform: scale(1) translateX(0); } }
@keyframes menuCoverExitNext { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(1.025) translateX(-5%); } }
@keyframes menuCoverExitPrev { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(1.025) translateX(5%); } }
.cover-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    background: rgba(0,0,0,.28);
    box-shadow: 0 5px 15px rgba(0,0,0,.15);
    font-size: 28px;
    line-height: 1;
    transform: translateY(-50%);
    backdrop-filter: blur(6px);
    cursor: pointer;
}
.cover-arrow:hover { background: rgba(0,0,0,.52); }
.cover-arrow-prev { left: 12px; }
.cover-arrow-next { right: 12px; }
.cover-dots { z-index: 6; bottom: 15px; }
.cover-dots button { width: 9px; height: 9px; opacity: .72; }
.cover-dots button.active { width: 28px; }
.cover-progress {
    position: absolute;
    z-index: 6;
    right: 18px;
    bottom: 7px;
    left: 18px;
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.24);
}
.cover-progress i { display: block; width: 0; height: 100%; background: var(--accent); }
@keyframes menuCoverProgress { from { width: 0; } to { width: 100%; } }

/* Readable menu information sheet. */
.menu-reference-link {
    min-height: 50px !important;
    padding: 9px 16px !important;
    grid-template-columns: 26px minmax(0, 1fr) 18px !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.45;
}
.menu-reference-icon { width: 24px !important; height: 24px !important; }
.menu-reference-icon .icon { width: 20px !important; height: 20px !important; }
.menu-reference-link i { font-size: 20px !important; }
.menu-reference-detail { padding: 18px 20px !important; }
.menu-reference-detail h3 { margin-bottom: 10px !important; font-size: 16px !important; }
.menu-reference-detail p,
.menu-reference-detail .public-hours div { font-size: 13px !important; line-height: 1.75; }
.menu-reference-social { min-height: 48px !important; gap: 18px !important; }
.menu-reference-social a,
.menu-reference-social button { width: 30px !important; height: 30px !important; font-size: 12px !important; }
.menu-reference-language-list { display: grid; gap: 6px; }
.menu-reference-language-list a {
    min-height: 48px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 34px 20px;
    align-items: center;
    gap: 9px;
    color: #262b29;
    border-radius: 9px;
    text-decoration: none;
}
.menu-reference-language-list a:hover,
.menu-reference-language-list a.active { background: #eaf4f1; }
.menu-reference-language-list img { border-radius: 4px; object-fit: cover; }
.menu-reference-language-list bdi { font-size: 14px; font-weight: 800; }
.menu-reference-language-list small { color: #71807b; font-size: 10px; font-weight: 900; }
.menu-reference-language-list i { color: var(--brand); font-style: normal; opacity: 0; }
.menu-reference-language-list a.active i { opacity: 1; }

/* Dynamyt / dark-grid design readability and scale pass. */
.menu-display-dark_grid.menu-body { font-size: 16px; }
.menu-display-dark_grid .menu-topbar {
    position: sticky;
    z-index: 60;
    top: 0;
    min-height: 62px !important;
    padding: 8px 16px !important;
    border-bottom: 1px solid #191919;
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
.menu-display-dark_grid .menu-top-group { gap: 8px; }
.menu-display-dark_grid .menu-icon-action {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px;
}
.menu-display-dark_grid .menu-icon-action .icon { width: 25px !important; height: 25px !important; }
.menu-display-dark_grid .order-type-trigger {
    min-height: 42px !important;
    padding: 5px 8px !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 800;
}
.menu-display-dark_grid .order-type-symbol { width: 32px; height: 32px; font-size: 20px; }
.menu-display-dark_grid .menu-language-trigger {
    min-width: 74px;
    height: 42px;
    color: #fff;
    border-color: #2b2b2b;
    background: #111;
}
.menu-display-dark_grid .menu-language-trigger b { font-size: 12px; }
.menu-display-dark_grid .menu-language-dropdown {
    border-color: #2b2b2b;
    background: #111;
    box-shadow: 0 20px 55px rgba(0,0,0,.56);
}
.menu-display-dark_grid .menu-language-dropdown a { color: #f4f4f4; }
.menu-display-dark_grid .menu-language-dropdown a:hover,
.menu-display-dark_grid .menu-language-dropdown a.active { background: #24201a; }
.menu-display-dark_grid .menu-language-dropdown small { color: #aaa; }
.menu-display-dark_grid .menu-cover {
    height: 342px !important;
    margin: 0 14px !important;
    border-radius: 14px !important;
}
.menu-display-dark_grid .menu-identity {
    min-height: 112px !important;
    padding: 20px !important;
    padding-inline-start: 126px !important;
    padding-inline-end: 106px !important;
}
.menu-display-dark_grid .menu-logo {
    right: 22px !important;
    top: -40px !important;
    width: 98px !important;
    height: 98px !important;
    border-width: 5px;
    border-radius: 18px;
}
.menu-display-dark_grid .menu-identity h1 { font-size: 24px !important; line-height: 1.35; }
.menu-display-dark_grid .menu-identity p { font-size: 14px !important; line-height: 1.65; }
.menu-display-dark_grid .open-pill { padding: 5px 10px; font-size: 11px !important; }
.menu-display-dark_grid .category-strip {
    min-height: 70px;
    padding: 11px 14px !important;
    gap: 9px !important;
}
.menu-display-dark_grid .category-pill {
    min-height: 42px !important;
    padding: 9px 16px !important;
    font-size: 14px !important;
    line-height: 1.25;
}
.menu-display-dark_grid .menu-content { padding: 8px 14px 110px !important; }
.menu-display-dark_grid .menu-category { padding-top: 24px !important; }
.menu-display-dark_grid .menu-category h2 {
    margin-bottom: 13px !important;
    font-size: 22px !important;
    line-height: 1.4;
}
.menu-display-dark_grid .public-products { gap: 14px !important; }
.menu-display-dark_grid .public-product { border-radius: 10px !important; }
.menu-display-dark_grid .public-product-info { padding: 13px 14px 15px !important; }
.menu-display-dark_grid .public-product h3 {
    margin-bottom: 6px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}
.menu-display-dark_grid .public-product p {
    min-height: 40px !important;
    margin-bottom: 9px !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}
.menu-display-dark_grid .public-price { font-size: 15px !important; }
.menu-display-dark_grid .old-price,
.menu-display-dark_grid .save-price { font-size: 11px !important; }
.menu-display-dark_grid .product-badges span { padding: 3px 7px; font-size: 9px; }
.menu-display-dark_grid .public-product-image i { width: 30px; height: 30px; font-size: 20px; }
.menu-display-dark_grid .menu-reference-panel { color: #f1f1f1; background: #0e0e0e; }
.menu-display-dark_grid .menu-reference-links,
.menu-display-dark_grid .menu-reference-link { color: #f3f3f3; border-color: #242424; background: #111; }
.menu-display-dark_grid .menu-reference-link:hover,
.menu-display-dark_grid .menu-reference-link.active { background: #241e13; }
.menu-display-dark_grid .menu-reference-icon,
.menu-display-dark_grid .menu-reference-link i { color: #c2c2c2; }
.menu-display-dark_grid .menu-reference-detail { color: #eee; border-color: #242424; background: #151515; }
.menu-display-dark_grid .menu-reference-detail p { color: #b7b7b7; }
.menu-display-dark_grid .menu-reference-language-list a { color: #f2f2f2; }
.menu-display-dark_grid .menu-reference-language-list a:hover,
.menu-display-dark_grid .menu-reference-language-list a.active { background: #292116; }

@media (min-width: 821px) {
    .menu-display-dark_grid .public-product-image,
    .menu-display-dark_grid .public-product img { height: 250px !important; }
    .menu-display-dark_grid .menu-reference-panel { width: min(768px, 100%) !important; }
}

@media (max-width: 820px) {
    .menu-display-dark_grid .menu-topbar { min-height: 58px !important; padding: 7px 10px !important; }
    .menu-display-dark_grid .menu-icon-action { width: 38px !important; height: 38px !important; }
    .menu-display-dark_grid .order-type-trigger { font-size: 12.5px !important; }
    .menu-display-dark_grid .menu-language-trigger { min-width: 64px; height: 38px; grid-template-columns: 25px auto 10px; padding-inline: 6px; gap: 4px; }
    .menu-display-dark_grid .menu-language-trigger img { width: 25px; height: 17px; }
    .menu-language-dropdown { position: fixed; top: 60px; right: 8px; left: 8px; width: auto; }
    .menu-display-dark_grid .menu-cover { height: clamp(255px, 47vw, 330px) !important; margin-inline: 8px !important; }
    .cover-arrow { width: 34px; height: 34px; font-size: 24px; }
    .menu-display-dark_grid .menu-identity {
        min-height: 94px !important;
        padding: 15px !important;
        padding-inline-start: 98px !important;
        padding-inline-end: 78px !important;
    }
    .menu-display-dark_grid .menu-logo { right: 14px !important; top: -31px !important; width: 76px !important; height: 76px !important; }
    .menu-display-dark_grid .menu-identity h1 { font-size: 20px !important; }
    .menu-display-dark_grid .menu-identity p { font-size: 12px !important; }
    .menu-display-dark_grid .category-strip { min-height: 62px; padding: 9px 8px !important; gap: 7px !important; }
    .menu-display-dark_grid .category-pill { min-height: 38px !important; padding: 8px 13px !important; font-size: 12.5px !important; }
    .menu-display-dark_grid .menu-content { padding-inline: 8px !important; }
    .menu-display-dark_grid .menu-category { padding-top: 18px !important; }
    .menu-display-dark_grid .menu-category h2 { font-size: 18px !important; }
    .menu-display-dark_grid .public-products { gap: 8px !important; }
    .menu-display-dark_grid .public-product-info { padding: 9px 9px 11px !important; }
    .menu-display-dark_grid .public-product h3 { font-size: 13.5px !important; }
    .menu-display-dark_grid .public-product p { min-height: 32px !important; font-size: 10px !important; }
    .menu-display-dark_grid .public-price { font-size: 12.5px !important; }
    .menu-reference-panel { max-height: min(88dvh, 760px) !important; }
    .menu-reference-link { min-height: 48px !important; font-size: 13.5px !important; }
}

@media (max-width: 430px) {
    .menu-display-dark_grid .menu-topbar { padding-inline: 6px !important; }
    .menu-display-dark_grid .menu-top-group { gap: 3px; }
    .menu-display-dark_grid .order-type-trigger { max-width: 132px; padding-inline: 4px !important; }
    .menu-display-dark_grid .order-type-trigger b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .menu-display-dark_grid .menu-language-trigger b { display: none; }
    .menu-display-dark_grid .menu-language-trigger { min-width: 43px; width: 43px; grid-template-columns: 26px 8px; }
    .menu-display-dark_grid .menu-cover { height: 248px !important; }
    .menu-display-dark_grid .public-product h3 { font-size: 12.5px !important; }
    .menu-display-dark_grid .public-product p { font-size: 9.5px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .menu-cover-slide,
    .cover-progress i { animation: none !important; transition: none !important; }
}
/* MENUFLOW_DYNAMYT_FOCUS_V1_END */

/* MENUFLOW_DYNAMYT_FOCUS_V2_START */
/* Slider indicators match the compact Menux pill + dot treatment. */
.menu-display-dark_grid .cover-dots {
    right: auto !important;
    left: 50% !important;
    bottom: 14px !important;
    gap: 5px !important;
    direction: ltr;
    transform: translateX(-50%) !important;
}
.menu-display-dark_grid .cover-dots button {
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 auto;
    opacity: .58 !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 1px 7px rgba(0,0,0,.32);
    transition: width .28s ease, opacity .28s ease, transform .28s ease !important;
}
.menu-display-dark_grid .cover-dots button.active {
    width: 28px !important;
    opacity: 1 !important;
    transform: scaleY(1.05);
}
.menu-display-dark_grid .cover-progress { display: none !important; }
.menu-display-dark_grid .cover-arrow {
    opacity: 0;
    transition: opacity .2s ease, background .2s ease;
}
.menu-display-dark_grid .menu-cover:hover .cover-arrow { opacity: 1; }

/* The food categories stay visible below the sticky top bar. */
.menu-display-dark_grid .category-strip {
    position: sticky !important;
    z-index: 59 !important;
    top: 62px !important;
    min-height: 60px !important;
    padding: 9px 12px !important;
    gap: 8px !important;
    align-items: center;
    background: rgba(7,7,7,.95) !important;
    border-top: 1px solid #151515;
    border-bottom: 1px solid #242014 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    scroll-snap-type: x proximity;
}
.menu-display-dark_grid .category-pill {
    width: max-content;
    min-width: max-content;
    min-height: 40px !important;
    padding: 8px 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    color: #fff !important;
    background: #1a160b !important;
    border: 1px solid #2d260f;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800;
    line-height: 1.15;
    scroll-snap-align: center;
    white-space: nowrap;
}
.menu-display-dark_grid .category-pill:hover,
.menu-display-dark_grid .category-pill.active {
    color: #0b0b0b !important;
    border-color: var(--accent) !important;
    background: var(--accent) !important;
    box-shadow: 0 5px 15px color-mix(in srgb, var(--accent) 24%, transparent);
}
.menu-display-dark_grid .category-pill-emoji {
    display: inline-grid;
    place-items: center;
    font-size: 17px;
    line-height: 1;
}
.menu-display-dark_grid .menu-category {
    scroll-margin-top: 132px !important;
}
.menu-display-dark_grid .menu-category-title {
    display: flex;
    align-items: center;
    gap: 7px;
}
.menu-display-dark_grid .menu-category-title-emoji {
    display: inline-grid;
    place-items: center;
    font-size: .9em;
    line-height: 1;
}

/* Compact food/category menu: content-sized, readable, and not a full-screen wall. */
.menu-display-dark_grid .menu-reference-sheet {
    padding: 72px 12px 12px;
    align-items: start;
    justify-items: center;
}
.menu-display-dark_grid .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(0,0,0,.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.menu-display-dark_grid .menu-reference-panel {
    width: min(580px, calc(100% - 24px)) !important;
    max-height: min(78dvh, 690px) !important;
    margin: 0 auto !important;
    overflow: hidden auto !important;
    opacity: 0;
    border: 1px solid #2a2a2a;
    border-radius: 16px !important;
    background: #101010 !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.56) !important;
    transform: translateY(-14px) scale(.985) !important;
    transform-origin: top center;
    transition: opacity .2s ease, transform .22s cubic-bezier(.2,.72,.2,1) !important;
}
.menu-display-dark_grid .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none !important;
}
.menu-reference-header {
    position: sticky;
    z-index: 5;
    top: 0;
    min-height: 58px;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #202523;
    background: #fff;
    border-bottom: 1px solid #eceeed;
}
.menu-reference-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
}
.menu-reference-header button {
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: #777;
    font-family: inherit;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
.menu-display-dark_grid .menu-reference-header {
    color: #fff;
    background: #151515;
    border-bottom-color: #292929;
}
.menu-display-dark_grid .menu-reference-header button {
    color: #ddd;
    background: #303030;
}
.menu-category-quick-list {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    background: #101010;
}
.menu-category-quick-link {
    min-width: 0;
    min-height: 46px;
    padding: 8px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #f5f5f5;
    border: 1px solid #272727;
    border-radius: 10px;
    background: #171717;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.menu-category-quick-link:hover {
    border-color: color-mix(in srgb, var(--accent) 60%, #272727);
    background: #201b0e;
    transform: translateY(-1px);
}
.menu-category-quick-link > span {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.menu-category-quick-link i {
    min-width: 22px;
    font-size: 17px;
    font-style: normal;
    text-align: center;
}
.menu-category-quick-link b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 850;
}
.menu-category-quick-link small {
    min-width: 27px;
    height: 27px;
    padding-inline: 7px;
    display: inline-grid;
    place-items: center;
    color: #c8c8c8;
    border-radius: 999px;
    background: #262626;
    font-size: 11px;
    font-weight: 900;
}
.menu-category-quick-all {
    grid-column: 1 / -1;
    color: #111;
    border-color: var(--accent);
    background: var(--accent);
}
.menu-category-quick-all:hover { background: color-mix(in srgb, var(--accent) 90%, white); }
.menu-category-quick-all small { color: #111; background: rgba(0,0,0,.12); }
.menu-reference-more {
    margin: 0 12px 12px;
    overflow: hidden;
    border: 1px solid #282828;
    border-radius: 10px;
    background: #151515;
}
.menu-reference-more summary {
    min-height: 46px;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #eee;
    font-size: 13.5px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}
.menu-reference-more summary::-webkit-details-marker { display: none; }
.menu-reference-more summary::after {
    content: "+";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: #bbb;
    border-radius: 50%;
    background: #292929;
    font-size: 17px;
}
.menu-reference-more[open] summary::after { content: "−"; }
.menu-display-dark_grid .menu-reference-more .menu-reference-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #282828;
    background: #111;
}
.menu-display-dark_grid .menu-reference-more .menu-reference-link {
    min-height: 46px !important;
    padding: 8px 10px !important;
    grid-template-columns: 24px minmax(0, 1fr) 14px !important;
    font-size: 12.5px !important;
    border-color: #252525;
}

/* A small readability bump for product cards on the focused dark template. */
.menu-display-dark_grid .public-product h3 { font-size: 16.5px !important; }
.menu-display-dark_grid .public-product p { font-size: 12.25px !important; line-height: 1.75 !important; }
.menu-display-dark_grid .public-price { font-size: 15.5px !important; }

@media (max-width: 820px) {
    .menu-display-dark_grid .cover-arrow { display: none !important; }
    .menu-display-dark_grid .category-strip {
        top: 58px !important;
        min-height: 56px !important;
        padding: 8px 7px !important;
        gap: 7px !important;
    }
    .menu-display-dark_grid .category-pill {
        min-height: 38px !important;
        padding: 8px 13px !important;
        font-size: 13.5px !important;
    }
    .menu-display-dark_grid .category-pill-emoji { font-size: 15px; }
    .menu-display-dark_grid .menu-category { scroll-margin-top: 122px !important; }
    .menu-display-dark_grid .menu-category h2 { font-size: 20px !important; }
    .menu-display-dark_grid .public-product h3 { font-size: 14.5px !important; }
    .menu-display-dark_grid .public-product p {
        min-height: 38px !important;
        font-size: 11px !important;
        line-height: 1.65 !important;
    }
    .menu-display-dark_grid .public-price { font-size: 14px !important; }
    .menu-display-dark_grid .menu-reference-sheet { padding: 66px 8px 8px; }
    .menu-display-dark_grid .menu-reference-panel {
        width: min(560px, calc(100% - 16px)) !important;
        max-height: min(80dvh, 680px) !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 560px) {
    .menu-category-quick-list { grid-template-columns: 1fr; }
    .menu-category-quick-all { grid-column: auto; }
    .menu-display-dark_grid .menu-reference-more .menu-reference-links { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .menu-display-dark_grid .cover-dots { bottom: 12px !important; }
    .menu-display-dark_grid .cover-dots button { width: 7px !important; height: 7px !important; }
    .menu-display-dark_grid .cover-dots button.active { width: 24px !important; }
    .menu-display-dark_grid .category-pill { font-size: 13px !important; }
    .menu-display-dark_grid .public-product h3 { font-size: 14px !important; }
    .menu-display-dark_grid .public-product p { font-size: 10.75px !important; }
    .menu-reference-header h2 { font-size: 17px; }
    .menu-category-quick-link b { font-size: 13.5px; }
}
/* MENUFLOW_DYNAMYT_FOCUS_V2_END */

/* MENUFLOW_PRODUCT_MODAL_V3_START */
/* Refined product details dialog shared by every menu template. */
.product-modal {
    z-index: 360;
    padding: 22px;
    place-items: center;
}
.product-modal-backdrop {
    background: rgba(5, 12, 11, .72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.product-modal-card {
    width: min(940px, calc(100vw - 44px));
    max-height: min(88dvh, 780px);
    margin: 0;
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(390px, 1.08fr);
    overflow: hidden;
    opacity: 0;
    transform: translateY(24px) scale(.975);
    border: 1px solid rgba(19, 35, 31, .12);
    border-radius: 24px;
    box-shadow: 0 34px 110px rgba(0, 0, 0, .36);
    transition: opacity .22s ease, transform .26s cubic-bezier(.2,.75,.2,1);
}
.product-modal.open .product-modal-card {
    opacity: 1;
    transform: none;
}
.product-modal-media {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #eef2f0;
}
.product-modal-image {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transition: opacity .18s ease, transform .35s ease;
}
.product-modal-media:hover .product-modal-image { transform: scale(1.012); }
.product-modal-gallery {
    min-height: 0;
    padding: 11px 13px;
    gap: 8px;
    border-top: 1px solid rgba(20, 38, 33, .1);
    background: rgba(255,255,255,.94);
    scrollbar-width: thin;
}
.product-modal-gallery button {
    width: 66px;
    height: 55px;
    padding: 2px;
    border-width: 2px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.product-modal-gallery button.active {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
}
.product-modal-close {
    z-index: 12;
    top: 15px;
    left: 15px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(10, 15, 14, .68);
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 24px;
    line-height: 1;
}
.product-modal-close:hover { background: rgba(10, 15, 14, .88); transform: scale(1.04); }
.product-modal-body {
    min-width: 0;
    min-height: 0;
    padding: 28px 28px 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    background: #fff;
}
.product-modal-summary { padding-bottom: 4px; }
.product-modal-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.product-modal-body h2,
.product-modal-title-row h2 {
    min-width: 0;
    margin: 3px 0 8px;
    font-size: clamp(24px, 2.4vw, 31px);
    line-height: 1.35;
    font-weight: 900;
}
.product-modal-price-box {
    padding-top: 7px;
    display: grid;
    justify-items: end;
    gap: 2px;
    flex: 0 0 auto;
    color: var(--brand);
    white-space: nowrap;
}
.product-modal-price-box strong { font-size: 18px; font-weight: 950; }
.product-modal-price-box del { color: var(--muted); font-size: 12px; font-weight: 700; }
.product-modal-body #productModalDescription {
    margin: 0;
    color: #68726f;
    font-size: 14px;
    line-height: 1.85;
}
.product-modal-body .product-badges {
    margin-bottom: 6px;
    gap: 6px;
}
.product-modal-body .product-badges span {
    padding: 4px 9px;
    font-size: 10.5px;
    font-weight: 850;
}
.product-modal-body .nutrition-row {
    margin: 14px 0 4px;
    gap: 7px;
}
.product-modal-body .nutrition-row span {
    min-height: 30px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    color: #53605c;
    border: 1px solid #e4e9e7;
    border-radius: 999px;
    background: #f5f7f6;
    font-size: 11px;
    font-weight: 720;
}
.product-choice-form { min-height: 0; }
.product-choice-sections { padding-bottom: 2px; }
.product-choice-group {
    margin: 22px 0 0;
    padding: 0;
    border: 0;
}
.product-choice-group legend {
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.product-choice-group legend > span {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 900;
}
.product-choice-group legend > small {
    padding: 4px 8px;
    color: var(--brand);
    border-radius: 999px;
    background: var(--brand-soft);
    font-size: 10px;
    line-height: 1.3;
    font-weight: 850;
}
.product-choice-group.is-optional legend > small {
    color: #68726f;
    background: #eef1f0;
}
.modal-choice-list { gap: 8px; }
.modal-choice { display: block; cursor: pointer; }
.modal-choice span {
    min-height: 56px;
    padding: 10px 13px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    color: #24302d;
    border: 1px solid #dfe6e3;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0,0,0,.015);
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.modal-choice:hover span {
    border-color: color-mix(in srgb, var(--brand) 35%, #dfe6e3);
    transform: translateY(-1px);
}
.modal-choice b {
    min-width: 0;
    font-size: 13.5px;
    line-height: 1.45;
    font-weight: 850;
}
.modal-choice small {
    color: #77817e;
    font-size: 11.5px;
    font-weight: 750;
    white-space: nowrap;
}
.modal-choice-indicator {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border: 2px solid #c7d0cd;
    border-radius: 50%;
    background: #fff;
    font-style: normal;
    transition: .16s ease;
}
.modal-choice input[type="checkbox"] + span .modal-choice-indicator { border-radius: 6px; }
.modal-choice input:focus-visible + span {
    outline: 3px solid color-mix(in srgb, var(--brand) 25%, transparent);
    outline-offset: 2px;
}
.modal-choice input:checked + span {
    color: #17231f;
    border-color: var(--brand);
    background: var(--brand-soft);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 15%, transparent);
}
.modal-choice input:checked + span .modal-choice-indicator {
    border-color: var(--brand);
    background: var(--brand);
    box-shadow: inset 0 0 0 4px #fff;
}
.modal-choice input[type="checkbox"]:checked + span .modal-choice-indicator {
    box-shadow: none;
}
.modal-choice input[type="checkbox"]:checked + span .modal-choice-indicator::after {
    content: "✓";
    color: #fff;
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
}
.modal-cart-bar {
    z-index: 12;
    bottom: 0;
    margin: 26px -28px 0;
    padding: 14px 28px calc(14px + env(safe-area-inset-bottom));
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    border: 0;
    border-top: 1px solid #e2e8e5;
    border-radius: 0;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -14px 30px rgba(12, 28, 24, .08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.modal-cart-bar .btn {
    min-height: 54px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: 13px;
    font-size: 15px;
    font-weight: 900;
}
.modal-cart-bar .btn strong { font-size: 14px; font-weight: 950; }
.modal-quantity {
    min-height: 54px;
    padding: 5px;
    gap: 5px;
    border: 1px solid #dfe5e2;
    border-radius: 13px;
    background: #f5f7f6;
}
.modal-quantity button {
    width: 42px;
    height: 42px;
    color: #1e2926;
    border: 1px solid #dde3e1;
    border-radius: 10px;
    background: #fff;
    font-size: 20px;
    font-weight: 800;
    transition: background .15s ease, transform .15s ease;
}
.modal-quantity button:hover { background: var(--brand-soft); transform: scale(1.03); }
.modal-quantity strong {
    min-width: 30px;
    font-size: 15px;
    font-weight: 900;
}
.product-modal-dismiss { margin: 24px 0 28px; min-height: 50px; border-radius: 12px; }

/* Dark-menu treatment. */
.theme-dark .product-modal-card {
    color: #f5f7f6;
    border-color: #26332f;
    background: #101916;
    box-shadow: 0 38px 120px rgba(0,0,0,.62);
}
.theme-dark .product-modal-media { background: #080b0a; }
.theme-dark .product-modal-gallery {
    border-top-color: #27332f;
    background: #0d1311;
}
.theme-dark .product-modal-gallery button { background: #17201d; box-shadow: none; }
.theme-dark .product-modal-body { background: #101916; }
.theme-dark .product-modal-body #productModalDescription { color: #aeb8b5; }
.theme-dark .product-modal-price-box { color: var(--accent); }
.theme-dark .product-modal-price-box del { color: #7f8986; }
.theme-dark .product-modal-body .nutrition-row span {
    color: #c0c8c6;
    border-color: #30403b;
    background: #18231f;
}
.theme-dark .product-choice-group legend > small {
    color: #111;
    background: var(--accent);
}
.theme-dark .product-choice-group.is-optional legend > small {
    color: #bfc8c5;
    background: #26312e;
}
.theme-dark .modal-choice span {
    color: #eef3f1;
    border-color: #31403b;
    background: #14201c;
    box-shadow: none;
}
.theme-dark .modal-choice:hover span { border-color: color-mix(in srgb, var(--accent) 45%, #31403b); }
.theme-dark .modal-choice small { color: #9eaaa6; }
.theme-dark .modal-choice-indicator {
    border-color: #5e6b67;
    background: #101916;
}
.theme-dark .modal-choice input:checked + span {
    color: #fff;
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 13%, #14201c);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);
}
.theme-dark .modal-choice input:checked + span .modal-choice-indicator {
    border-color: var(--accent);
    background: var(--accent);
    box-shadow: inset 0 0 0 4px #101916;
}
.theme-dark .modal-choice input[type="checkbox"]:checked + span .modal-choice-indicator { box-shadow: none; }
.theme-dark .modal-cart-bar {
    border-top-color: #2c3935;
    background: rgba(15, 24, 21, .96);
    box-shadow: 0 -16px 34px rgba(0,0,0,.28);
}
.theme-dark .modal-quantity {
    border-color: #34423e;
    background: #17221f;
}
.theme-dark .modal-quantity button {
    color: #f5f7f6;
    border-color: #3b4844;
    background: #222d29;
}
.theme-dark .modal-quantity button:hover { color: #111; background: var(--accent); }
.theme-dark .modal-cart-bar .btn-primary {
    color: #111;
    background: var(--accent);
    border-color: var(--accent);
}

@media (max-width: 1020px) {
    .product-modal-card {
        width: min(760px, calc(100vw - 32px));
        grid-template-columns: minmax(280px, .82fr) minmax(360px, 1.18fr);
    }
    .product-modal-image { min-height: 390px; }
}

@media (max-width: 820px) {
    .product-modal {
        padding: 0;
        place-items: end center;
    }
    .product-modal-card {
        width: min(768px, 100%);
        max-height: 94dvh;
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 1fr);
        border-width: 1px 0 0;
        border-radius: 24px 24px 0 0;
        transform: translateY(102%);
    }
    .product-modal-media {
        min-height: 0;
        grid-template-rows: auto auto;
    }
    .product-modal-image {
        height: clamp(190px, 31dvh, 280px);
        min-height: 0;
    }
    .product-modal-media:hover .product-modal-image { transform: none; }
    .product-modal-gallery {
        padding: 8px 12px;
    }
    .product-modal-gallery button { width: 58px; height: 48px; }
    .product-modal-close {
        top: 13px;
        left: 13px;
        width: 40px;
        height: 40px;
    }
    .product-modal-body {
        padding: 21px 17px 0;
    }
    .product-modal-body h2,
    .product-modal-title-row h2 { font-size: clamp(22px, 5vw, 27px); }
    .product-modal-price-box strong { font-size: 16px; }
    .product-modal-body #productModalDescription { font-size: 13px; line-height: 1.75; }
    .product-modal-body .nutrition-row span { min-height: 28px; padding: 5px 8px; font-size: 10px; }
    .product-choice-group { margin-top: 20px; }
    .product-choice-group legend > span { font-size: 14px; }
    .modal-choice span { min-height: 54px; padding: 9px 11px; }
    .modal-choice b { font-size: 13px; }
    .modal-choice small { font-size: 10.5px; }
    .modal-cart-bar {
        margin: 24px -17px 0;
        padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
        gap: 8px;
    }
    .modal-cart-bar .btn { min-height: 50px; padding-inline: 12px; font-size: 13.5px; }
    .modal-cart-bar .btn strong { font-size: 12.5px; }
    .modal-quantity { min-height: 50px; padding: 4px; }
    .modal-quantity button { width: 38px; height: 40px; }
    .modal-quantity strong { min-width: 25px; font-size: 14px; }
}

@media (max-width: 430px) {
    .product-modal-card { max-height: 96dvh; border-radius: 20px 20px 0 0; }
    .product-modal-image { height: clamp(170px, 27dvh, 220px); }
    .product-modal-title-row { gap: 10px; }
    .product-modal-body h2,
    .product-modal-title-row h2 { font-size: 21px; }
    .product-modal-price-box strong { font-size: 14px; }
    .product-modal-body { padding-inline: 14px; }
    .modal-choice span { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 8px; }
    .modal-choice-indicator { width: 18px; height: 18px; }
    .modal-cart-bar {
        margin-inline: -14px;
        grid-template-columns: 112px minmax(0, 1fr);
    }
    .modal-quantity button { width: 34px; }
    .modal-cart-bar .btn { padding-inline: 8px; font-size: 12.5px; gap: 5px; }
    .modal-cart-bar .btn strong { font-size: 11.5px; }
}
/* MENUFLOW_PRODUCT_MODAL_V3_END */

/* MENUFLOW_CART_DRAWER_V4_START */
.cart-drawer { z-index: 125; }
.cart-drawer .drawer-backdrop {
    background: rgba(5, 13, 11, .66);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.cart-drawer-panel {
    width: min(560px, 100%);
    padding: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    color: #17211e;
    border-inline-end: 1px solid rgba(20, 46, 39, .08);
    background: #f7f9f8;
    box-shadow: 26px 0 80px rgba(3, 16, 12, .28);
}
html[dir="ltr"] .cart-drawer-panel {
    right: 0;
    left: auto;
    border-inline-start: 1px solid rgba(20, 46, 39, .08);
    border-inline-end: 0;
    transform: translateX(102%);
    box-shadow: -26px 0 80px rgba(3, 16, 12, .28);
}
html[dir="ltr"] .cart-drawer.open .cart-drawer-panel { transform: translateX(0); }
.cart-drawer-header {
    position: relative;
    z-index: 4;
    min-height: 84px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #e3e9e6;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 24px rgba(17, 37, 31, .045);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.cart-drawer-heading,
.cart-drawer-header-actions {
    display: flex;
    align-items: center;
    gap: 11px;
}
.cart-drawer-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: var(--brand);
    border-radius: 14px;
    background: var(--brand-soft);
}
.cart-drawer-heading h2 {
    margin: 0;
    color: #18231f;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 950;
}
.cart-drawer-heading p {
    margin: 3px 0 0;
    color: #75807c;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 750;
}
.cart-clear-button {
    min-height: 36px;
    padding: 7px 10px;
    color: #b23b36;
    border: 0;
    border-radius: 10px;
    background: #fff0ef;
    font-family: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}
.cart-drawer-header .drawer-close {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    color: #25302d;
    border: 1px solid #dce4e1;
    background: #fff;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}
.cart-drawer-scroll {
    min-height: 0;
    padding: 18px 18px 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--brand) 35%, #d8e0dd) transparent;
}
.cart-lines { gap: 11px; }
.cart-line {
    padding: 11px;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    border: 1px solid #e0e7e4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(12, 32, 26, .045);
}
.cart-line-media {
    width: 82px;
    height: 82px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #f1f4f3;
}
.cart-line-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.cart-line-media > span { font-size: 30px; }
.cart-line-content { min-width: 0; display: grid; align-content: center; gap: 5px; }
.cart-line-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.cart-line-head > strong {
    min-width: 0;
    overflow: hidden;
    color: #17211e;
    text-overflow: ellipsis;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 900;
}
.cart-line-remove {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #9b4b47;
    border: 0;
    border-radius: 9px;
    background: #fff1f0;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.cart-line-content > small {
    display: -webkit-box;
    overflow: hidden;
    color: #79837f;
    font-size: 11px;
    line-height: 1.6;
    font-weight: 650;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.cart-line-footer {
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.cart-line .price {
    margin: 0;
    color: var(--brand);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 950;
}
.cart-qty {
    min-height: 34px;
    padding: 3px;
    gap: 3px;
    border: 1px solid #dfe6e3;
    border-radius: 11px;
    background: #f4f7f6;
}
.cart-qty button {
    width: 29px;
    height: 28px;
    display: grid;
    place-items: center;
    color: #1b2622;
    border: 1px solid #dce4e1;
    border-radius: 8px;
    background: #fff;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}
.cart-qty strong { min-width: 22px; text-align: center; font-size: 12.5px; font-weight: 950; }
.cart-summary-card {
    margin: 15px 0 18px;
    padding: 15px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid color-mix(in srgb, var(--brand) 20%, #dce4e1);
    border-radius: 15px;
    background: color-mix(in srgb, var(--brand) 5%, #fff);
}
.cart-summary-card > div { min-width: 0; }
.cart-summary-card span { display: block; color: #27332f; font-size: 13px; font-weight: 900; }
.cart-summary-card small { display: block; margin-top: 3px; color: #7a8581; font-size: 10.5px; line-height: 1.45; }
.cart-summary-card strong { color: var(--brand); font-size: 18px; white-space: nowrap; font-weight: 950; }
.cart-checkout-form { gap: 14px; padding: 0 0 22px; }
.checkout-section {
    padding: 16px;
    display: grid;
    gap: 14px;
    border: 1px solid #e0e7e4;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(12, 32, 26, .035);
}
.checkout-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.checkout-section-heading > span {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #fff;
    border-radius: 9px;
    background: var(--brand);
    font-size: 12px;
    font-weight: 950;
}
.checkout-section-heading h3 { margin: 0; color: #1b2522; font-size: 15px; line-height: 1.35; font-weight: 950; }
.checkout-section-heading p { margin: 3px 0 0; color: #7b8582; font-size: 10.5px; line-height: 1.5; }
.checkout-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cart-checkout-form .field { display: grid; gap: 7px; }
.cart-checkout-form .field label {
    color: #33403b;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 850;
}
.cart-checkout-form .input,
.cart-checkout-form .select,
.cart-checkout-form .textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    color: #1c2824;
    border: 1px solid #dce4e1;
    border-radius: 12px;
    background: #f8faf9;
    box-shadow: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
}
.cart-checkout-form .textarea { min-height: 86px; resize: vertical; line-height: 1.65; }
.cart-checkout-form .input::placeholder,
.cart-checkout-form .textarea::placeholder { color: #a2aaa7; font-weight: 600; }
.cart-checkout-form .input:focus,
.cart-checkout-form .select:focus,
.cart-checkout-form .textarea:focus {
    border-color: var(--brand);
    background: #fff;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent);
}
.cart-order-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
}
.cart-order-type-choice { cursor: pointer; }
.cart-order-type-choice > span {
    width: 100%;
    min-height: 57px;
    padding: 9px 10px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 8px;
    color: #39443f;
    border: 1px solid #dfe6e3;
    border-radius: 13px;
    background: #f8faf9;
    font-size: 12px;
}
.cart-order-type-choice i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--brand);
    border-radius: 9px;
    background: var(--brand-soft);
    font-style: normal;
    font-size: 17px;
}
.cart-order-type-choice b { min-width: 0; font-size: 11.5px; line-height: 1.45; font-weight: 850; }
.cart-order-type-choice em {
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    color: transparent;
    border: 1.5px solid #cbd4d1;
    border-radius: 50%;
    font-style: normal;
    font-size: 11px;
    font-weight: 950;
}
.cart-order-type-choice input:checked + span {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 48%, #dfe6e3);
    background: var(--brand-soft);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 10%, transparent);
}
.cart-order-type-choice input:checked + span em { color: #fff; border-color: var(--brand); background: var(--brand); }
.cart-order-type-choice input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--brand) 20%, transparent); outline-offset: 2px; }
.cart-submit-bar {
    position: sticky;
    z-index: 5;
    bottom: 0;
    margin: 2px -18px 0;
    padding: 12px 18px calc(13px + env(safe-area-inset-bottom));
    display: grid;
    gap: 6px;
    border-top: 1px solid #e0e7e4;
    background: rgba(247,249,248,.96);
    box-shadow: 0 -14px 30px rgba(12, 28, 24, .08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.cart-submit-bar .btn {
    min-height: 55px;
    width: 100%;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 950;
}
.cart-submit-bar .btn strong {
    padding-inline-start: 14px;
    border-inline-start: 1px solid rgba(255,255,255,.25);
    font-size: 13px;
    font-weight: 950;
}
.cart-submit-bar > small { color: #808986; text-align: center; font-size: 9.5px; line-height: 1.45; }
.cart-empty-state {
    min-height: 360px;
    padding: 40px 20px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed #d8e1dd;
    border-radius: 18px;
    background: #fff;
}
.cart-empty-state > span { font-size: 50px; filter: grayscale(.15); }
.cart-empty-state h3 { margin: 14px 0 4px; color: #1d2824; font-size: 20px; font-weight: 950; }
.cart-empty-state p { margin: 0; color: #7d8783; font-size: 12px; }
.cart-empty-state button {
    min-height: 42px;
    margin-top: 18px;
    padding: 9px 20px;
    color: #fff;
    border: 0;
    border-radius: 11px;
    background: var(--brand);
    font-family: inherit;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.theme-dark .cart-drawer-panel {
    color: #eff5f2;
    border-color: #27342f;
    background: #0d1512;
}
.theme-dark .cart-drawer-header {
    border-bottom-color: #293630;
    background: rgba(15,24,21,.96);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.theme-dark .cart-drawer-heading h2 { color: #f5f7f6; }
.theme-dark .cart-drawer-heading p { color: #9ba6a2; }
.theme-dark .cart-drawer-icon { color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, #17221e); }
.theme-dark .cart-clear-button { color: #ff9b94; background: #321d1c; }
.theme-dark .cart-drawer-header .drawer-close { color: #f1f5f3; border-color: #394640; background: #1b2622; }
.theme-dark .cart-line,
.theme-dark .checkout-section,
.theme-dark .cart-empty-state {
    border-color: #293630;
    background: #121d19;
    box-shadow: none;
}
.theme-dark .cart-line-media { background: #1b2722; }
.theme-dark .cart-line-head > strong,
.theme-dark .checkout-section-heading h3,
.theme-dark .cart-empty-state h3 { color: #f3f6f5; }
.theme-dark .cart-line-content > small,
.theme-dark .checkout-section-heading p,
.theme-dark .cart-empty-state p { color: #98a39f; }
.theme-dark .cart-line-remove { color: #ff9e98; background: #321d1c; }
.theme-dark .cart-line .price { color: var(--accent); }
.theme-dark .cart-qty { border-color: #33413b; background: #18231f; }
.theme-dark .cart-qty button { color: #f2f5f4; border-color: #3b4943; background: #222e29; }
.theme-dark .cart-summary-card {
    border-color: color-mix(in srgb, var(--accent) 28%, #293630);
    background: color-mix(in srgb, var(--accent) 7%, #121d19);
}
.theme-dark .cart-summary-card span { color: #e8eeeb; }
.theme-dark .cart-summary-card small { color: #98a39f; }
.theme-dark .cart-summary-card strong { color: var(--accent); }
.theme-dark .checkout-section-heading > span { color: #111; background: var(--accent); }
.theme-dark .cart-checkout-form .field label { color: #dce4e1; }
.theme-dark .cart-checkout-form .input,
.theme-dark .cart-checkout-form .select,
.theme-dark .cart-checkout-form .textarea {
    color: #f0f4f2;
    border-color: #33413b;
    background: #0b100e;
}
.theme-dark .cart-checkout-form .input:focus,
.theme-dark .cart-checkout-form .select:focus,
.theme-dark .cart-checkout-form .textarea:focus {
    border-color: var(--accent);
    background: #0d1411;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}
.theme-dark .cart-order-type-choice > span { color: #dce3e0; border-color: #33413b; background: #17211e; }
.theme-dark .cart-order-type-choice i { color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, #17211e); }
.theme-dark .cart-order-type-choice em { border-color: #52605a; }
.theme-dark .cart-order-type-choice input:checked + span {
    color: #fff;
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, #17211e);
}
.theme-dark .cart-order-type-choice input:checked + span em { color: #111; border-color: var(--accent); background: var(--accent); }
.theme-dark .cart-submit-bar {
    border-top-color: #293630;
    background: rgba(13,21,18,.96);
    box-shadow: 0 -14px 30px rgba(0,0,0,.22);
}
.theme-dark .cart-submit-bar .btn-primary { color: #111; border-color: var(--accent); background: var(--accent); }
.theme-dark .cart-submit-bar .btn strong { border-inline-start-color: rgba(0,0,0,.22); }

@media (max-width: 620px) {
    .cart-drawer-panel,
    html[dir="ltr"] .cart-drawer-panel {
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        border: 0;
        transform: translateY(102%);
        box-shadow: 0 -28px 80px rgba(3, 16, 12, .3);
    }
    .cart-drawer.open .cart-drawer-panel,
    html[dir="ltr"] .cart-drawer.open .cart-drawer-panel { transform: translateY(0); }
    .cart-drawer-header { min-height: 76px; padding: 13px 14px; }
    .cart-drawer-icon { width: 41px; height: 41px; border-radius: 12px; }
    .cart-drawer-heading h2 { font-size: 19px; }
    .cart-drawer-heading p { font-size: 10.5px; }
    .cart-clear-button { min-height: 33px; padding-inline: 8px; font-size: 9.5px; }
    .cart-drawer-header .drawer-close { width: 39px; height: 39px; font-size: 23px; }
    .cart-drawer-scroll { padding: 13px 12px 0; }
    .cart-line { grid-template-columns: 72px minmax(0, 1fr); padding: 9px; gap: 10px; border-radius: 14px; }
    .cart-line-media { width: 72px; height: 72px; border-radius: 11px; }
    .cart-line-head > strong { font-size: 13.5px; }
    .cart-line-content > small { font-size: 10px; line-height: 1.5; }
    .cart-line .price { font-size: 12.5px; }
    .cart-qty button { width: 27px; height: 27px; }
    .cart-summary-card { margin-block: 12px 14px; padding: 13px; }
    .cart-summary-card strong { font-size: 15.5px; }
    .checkout-section { padding: 13px; gap: 12px; border-radius: 15px; }
    .checkout-fields-grid { grid-template-columns: 1fr; gap: 11px; }
    .cart-order-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cart-order-type-choice > span { min-height: 53px; padding: 8px; grid-template-columns: 27px minmax(0, 1fr) 18px; gap: 6px; }
    .cart-order-type-choice i { width: 27px; height: 27px; font-size: 15px; }
    .cart-order-type-choice b { font-size: 10.5px; }
    .cart-checkout-form .input,
    .cart-checkout-form .select,
    .cart-checkout-form .textarea { min-height: 47px; font-size: 12px; }
    .cart-submit-bar { margin-inline: -12px; padding-inline: 12px; }
    .cart-submit-bar .btn { min-height: 52px; font-size: 13.5px; }
    .cart-submit-bar .btn strong { font-size: 11.5px; }
}

@media (max-width: 390px) {
    .cart-drawer-heading { gap: 8px; }
    .cart-drawer-icon { display: none; }
    .cart-clear-button { max-width: 74px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cart-line { grid-template-columns: 64px minmax(0, 1fr); }
    .cart-line-media { width: 64px; height: 64px; }
    .cart-order-type-grid { grid-template-columns: 1fr; }
}
/* MENUFLOW_CART_DRAWER_V4_END */

/* MENUFLOW_RASHFA_CATEGORY_CATALOG_V1_START */
/* Category-first dark menu inspired by Rashfa, with improved readability and navigation. */
.menu-display-category_catalog.menu-body {
    font-size: 16px;
    background: #191919;
}
.menu-display-category_catalog .menu-shell {
    width: min(768px, 100%);
    color: #f7f8f8;
    background: #0c0d0d;
    box-shadow: 0 0 52px rgba(0,0,0,.28);
}
.menu-display-category_catalog .menu-topbar {
    position: sticky;
    z-index: 72;
    top: 0;
    min-height: 62px;
    height: auto;
    padding: 8px 13px;
    color: #f7f8f8;
    background: rgba(8,9,9,.95);
    border-bottom: 1px solid rgba(255,255,255,.055);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}
.menu-display-category_catalog .menu-top-group { gap: 8px; }
.menu-display-category_catalog .menu-icon-action {
    width: 42px;
    height: 42px;
    color: #efefef;
    border-radius: 11px;
}
.menu-display-category_catalog .menu-icon-action:hover { background: #191b1b; }
.menu-display-category_catalog .menu-icon-action .icon { width: 25px !important; height: 25px !important; }
.menu-display-category_catalog .order-type-trigger {
    min-height: 42px;
    padding: 5px 7px;
    gap: 8px;
    color: #f5f5f5;
    font-size: 14px;
    font-weight: 800;
}
.menu-display-category_catalog .order-type-symbol {
    width: 33px;
    height: 33px;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 13%, #171717);
    font-size: 20px;
}
.menu-display-category_catalog .menu-language-trigger {
    min-width: 82px;
    min-height: 42px;
    padding: 6px 8px;
    border-color: #2b2e2e;
    border-radius: 10px;
    background: #151717;
    font-size: 13px;
}
.menu-display-category_catalog .menu-language-trigger img { width: 27px; height: 18px; }
.menu-display-category_catalog .menu-language-dropdown {
    color: #202423;
    border-color: #e1e5e3;
    background: #fff;
}
.menu-display-category_catalog .menu-cover {
    height: 340px;
    margin: 12px 13px 0;
    border: 1px solid #202323;
    border-radius: 15px;
    background: #151717;
    box-shadow: 0 16px 35px rgba(0,0,0,.26);
}
.menu-display-category_catalog .menu-cover-slide {
    filter: saturate(.94) contrast(1.03);
}
.menu-display-category_catalog .cover-dots {
    right: auto;
    left: 50%;
    bottom: 14px;
    direction: ltr;
    transform: translateX(-50%);
}
.menu-display-category_catalog .cover-dots button {
    width: 8px;
    height: 8px;
    opacity: .58;
    background: #fff;
    box-shadow: 0 1px 7px rgba(0,0,0,.35);
}
.menu-display-category_catalog .cover-dots button.active { width: 28px; opacity: 1; }
.menu-display-category_catalog .cover-progress { display: none; }
.menu-display-category_catalog .cover-arrow {
    width: 40px;
    height: 40px;
    opacity: 0;
    color: #fff;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(0,0,0,.42);
    transition: opacity .2s ease, background .2s ease;
}
.menu-display-category_catalog .menu-cover:hover .cover-arrow { opacity: 1; }
.menu-display-category_catalog .menu-identity {
    min-height: 116px;
    padding: 20px 22px;
    padding-inline-start: 132px;
    padding-inline-end: 112px;
    border-bottom: 1px solid #202222;
}
.menu-display-category_catalog .menu-logo {
    right: 22px;
    top: -42px;
    width: 104px;
    height: 104px;
    border: 5px solid #0c0d0d;
    border-radius: 20px;
    background: #161818;
    box-shadow: 0 13px 29px rgba(0,0,0,.42);
}
.menu-display-category_catalog .menu-identity h1 {
    color: var(--accent);
    font-size: 24px !important;
    line-height: 1.35;
}
.menu-display-category_catalog .menu-identity p {
    margin-top: 5px;
    color: #a2a8a6;
    font-size: 14px !important;
    line-height: 1.65;
}
.menu-display-category_catalog .open-pill {
    left: 22px;
    bottom: 27px;
    padding: 6px 11px;
    font-size: 11px !important;
}
.menu-display-category_catalog .menu-content {
    min-height: 520px;
    padding: 22px 22px 100px;
}
.menu-display-category_catalog .category-catalog-view {
    padding: 0 0 24px;
}
.menu-display-category_catalog .category-catalog-heading {
    margin-bottom: 17px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}
.menu-display-category_catalog .category-catalog-heading > div { min-width: 0; }
.menu-display-category_catalog .category-catalog-heading span {
    display: block;
    margin-bottom: 2px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
}
.menu-display-category_catalog .category-catalog-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 23px;
    line-height: 1.35;
}
.menu-display-category_catalog .category-catalog-heading > small {
    flex: 0 0 auto;
    color: #737a78;
    font-size: 11px;
    font-weight: 700;
}
.menu-display-category_catalog .category-catalog-list {
    display: grid;
    gap: 8px;
}
.menu-display-category_catalog .category-catalog-row {
    width: 100%;
    min-height: 58px;
    padding: 8px 13px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 11px;
    color: #f4f5f5;
    text-align: start;
    border: 1px solid #241b1d;
    border-radius: 9px;
    background: linear-gradient(90deg, #160e10, #110c0d);
    font-family: inherit;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.menu-display-category_catalog .category-catalog-row:hover,
.menu-display-category_catalog .category-catalog-row:focus-visible {
    border-color: color-mix(in srgb, var(--accent) 52%, #241b1d);
    background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 8%, #160e10), #110c0d);
    transform: translateY(-1px);
    outline: none;
}
.menu-display-category_catalog .category-catalog-row-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: var(--accent);
    border: 1px solid #2b2223;
    border-radius: 10px;
    background: #1c1415;
    font-size: 18px;
    line-height: 1;
}
.menu-display-category_catalog .category-catalog-row strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 850;
}
.menu-display-category_catalog .category-catalog-row small {
    min-width: 31px;
    padding: 4px 8px;
    display: inline-grid;
    place-items: center;
    color: #a6acaa;
    border: 1px solid #2a2929;
    border-radius: 999px;
    background: #181919;
    font-size: 10px;
    font-weight: 800;
}
.menu-display-category_catalog .category-catalog-row i {
    color: #9da2a0;
    font-size: 22px;
    font-style: normal;
    text-align: center;
}
html[dir="ltr"] .menu-display-category_catalog .category-catalog-row i { transform: scaleX(-1); }
.menu-display-category_catalog .category-catalog-panel {
    padding-top: 0;
    animation: rashfaPanelIn .28s cubic-bezier(.2,.72,.2,1);
}
@keyframes rashfaPanelIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}
.menu-display-category_catalog .category-catalog-panel-bar {
    position: sticky;
    z-index: 48;
    top: 62px;
    min-height: 68px;
    margin: -22px -22px 18px;
    padding: 10px 22px;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    background: rgba(12,13,13,.96);
    border-bottom: 1px solid #242626;
    box-shadow: 0 9px 24px rgba(0,0,0,.22);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}
.menu-display-category_catalog .category-catalog-back {
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid #303333;
    border-radius: 11px;
    background: #191b1b;
    font-size: 21px;
    cursor: pointer;
}
.menu-display-category_catalog .category-catalog-back:hover { color: #111; background: var(--accent); border-color: var(--accent); }
html[dir="ltr"] .menu-display-category_catalog .category-catalog-back { transform: scaleX(-1); }
.menu-display-category_catalog .category-catalog-panel-bar div { min-width: 0; }
.menu-display-category_catalog .category-catalog-panel-bar small {
    display: block;
    margin-bottom: 1px;
    color: #777e7c;
    font-size: 10px;
    font-weight: 700;
}
.menu-display-category_catalog .category-catalog-panel-bar strong {
    display: block;
    overflow: hidden;
    color: #fff;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 900;
}
.menu-display-category_catalog .category-catalog-panel-bar > span {
    color: #8f9694;
    font-size: 10px;
    font-weight: 700;
}
.menu-display-category_catalog .category-catalog-panel > .muted {
    margin: 0 0 13px;
    color: #8e9593;
    font-size: 12px;
    line-height: 1.7;
}
.menu-display-category_catalog .category-catalog-panel .public-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
}
.menu-display-category_catalog .category-catalog-panel .public-product {
    min-height: 142px;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) 132px;
    gap: 0;
    color: #f5f6f6;
    border: 1px solid #252828;
    border-radius: 13px;
    background: #121414;
    text-align: start;
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.menu-display-category_catalog .category-catalog-panel .public-product:hover {
    border-color: color-mix(in srgb, var(--accent) 46%, #252828);
    background: #161818;
    transform: translateY(-2px);
}
.menu-display-category_catalog .category-catalog-panel .public-product-info {
    min-width: 0;
    padding: 15px 14px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
}
.menu-display-category_catalog .category-catalog-panel .public-product h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 15px;
    line-height: 1.45;
}
.menu-display-category_catalog .category-catalog-panel .public-product p {
    margin: 0 0 12px;
    color: #969d9b;
    font-size: 11px;
    line-height: 1.65;
    -webkit-line-clamp: 3;
}
.menu-display-category_catalog .category-catalog-panel .public-price {
    margin-top: auto;
    color: var(--accent);
    font-size: 14px;
}
.menu-display-category_catalog .category-catalog-panel .public-product-image,
.menu-display-category_catalog .category-catalog-panel .public-product img {
    width: 132px;
    height: 100%;
    min-height: 142px;
    border-radius: 0;
    object-fit: cover;
    background: #1b1d1d;
}
.menu-display-category_catalog .category-catalog-panel .public-product-image i {
    right: auto;
    left: 8px;
    bottom: 8px;
    width: 31px;
    height: 31px;
    color: #111;
    background: var(--accent);
    font-size: 19px;
}
.menu-display-category_catalog .product-badges span {
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, #1b1b1b);
}
.menu-display-category_catalog .menu-search-panel {
    position: sticky;
    z-index: 68;
    top: 66px;
    margin: 8px 13px;
    color: #f5f5f5;
    border-color: #303333;
    background: #171919;
}
.menu-display-category_catalog .menu-search-panel input { color: #fff; }
.menu-display-category_catalog .menu-search-panel input::placeholder { color: #7e8583; }
.menu-display-category_catalog .menu-search-panel button { color: #fff; background: #292c2c; }
.menu-display-category_catalog .cart-fab { width: min(738px, calc(100% - 30px)); }
.menu-display-category_catalog .menu-reference-panel,
.menu-display-category_catalog .product-modal-card,
.menu-display-category_catalog .drawer-panel { color: #f3f5f4; background: #111514; }

@media (max-width: 820px) {
    .menu-display-category_catalog .menu-topbar { min-height: 58px; padding: 7px 8px; }
    .menu-display-category_catalog .menu-icon-action { width: 38px; height: 38px; }
    .menu-display-category_catalog .order-type-trigger { max-width: 165px; font-size: 12px; }
    .menu-display-category_catalog .menu-language-trigger { min-width: 64px; min-height: 38px; padding-inline: 6px; }
    .menu-display-category_catalog .menu-language-trigger b { display: none; }
    .menu-display-category_catalog .menu-cover {
        height: clamp(240px, 48vw, 310px);
        margin: 8px 8px 0;
        border-radius: 12px;
    }
    .menu-display-category_catalog .cover-arrow { display: none; }
    .menu-display-category_catalog .menu-identity {
        min-height: 100px;
        padding: 16px;
        padding-inline-start: 105px;
        padding-inline-end: 84px;
    }
    .menu-display-category_catalog .menu-logo {
        right: 14px;
        top: -32px;
        width: 82px;
        height: 82px;
        border-width: 4px;
        border-radius: 17px;
    }
    .menu-display-category_catalog .menu-identity h1 { font-size: 21px !important; }
    .menu-display-category_catalog .menu-identity p { font-size: 12px !important; }
    .menu-display-category_catalog .open-pill { left: 14px; bottom: 22px; font-size: 10px !important; }
    .menu-display-category_catalog .menu-content { padding: 17px 12px 92px; }
    .menu-display-category_catalog .category-catalog-heading { align-items: start; }
    .menu-display-category_catalog .category-catalog-heading h2 { font-size: 21px; }
    .menu-display-category_catalog .category-catalog-heading > small { margin-top: 5px; font-size: 9.5px; }
    .menu-display-category_catalog .category-catalog-row { min-height: 56px; padding: 8px 10px; grid-template-columns: 36px minmax(0,1fr) auto 18px; gap: 8px; }
    .menu-display-category_catalog .category-catalog-row strong { font-size: 14px; }
    .menu-display-category_catalog .category-catalog-panel-bar {
        top: 58px;
        min-height: 64px;
        margin: -17px -12px 15px;
        padding: 9px 12px;
        grid-template-columns: 39px minmax(0,1fr) auto;
        gap: 9px;
    }
    .menu-display-category_catalog .category-catalog-back { width: 37px; height: 37px; }
    .menu-display-category_catalog .category-catalog-panel-bar strong { font-size: 16px; }
    .menu-display-category_catalog .category-catalog-panel .public-products { grid-template-columns: 1fr; gap: 8px; }
    .menu-display-category_catalog .category-catalog-panel .public-product {
        min-height: 126px;
        grid-template-columns: minmax(0,1fr) 118px;
    }
    .menu-display-category_catalog .category-catalog-panel .public-product-info { padding: 12px; }
    .menu-display-category_catalog .category-catalog-panel .public-product h3 { font-size: 14px; }
    .menu-display-category_catalog .category-catalog-panel .public-product p { margin-bottom: 8px; font-size: 10px; -webkit-line-clamp: 2; }
    .menu-display-category_catalog .category-catalog-panel .public-price { font-size: 13px; }
    .menu-display-category_catalog .category-catalog-panel .public-product-image,
    .menu-display-category_catalog .category-catalog-panel .public-product img {
        width: 118px;
        min-height: 126px;
    }
}

@media (max-width: 430px) {
    .menu-display-category_catalog .menu-top-group { gap: 3px; }
    .menu-display-category_catalog .order-type-trigger { max-width: 130px; padding-inline: 4px; }
    .menu-display-category_catalog .order-type-trigger b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .menu-display-category_catalog .menu-language-trigger { min-width: 43px; width: 43px; grid-template-columns: 26px 8px; }
    .menu-display-category_catalog .menu-cover { height: 238px; }
    .menu-display-category_catalog .category-catalog-heading { display: block; }
    .menu-display-category_catalog .category-catalog-heading > small { display: block; margin-top: 5px; }
    .menu-display-category_catalog .category-catalog-row-icon { width: 34px; height: 34px; }
    .menu-display-category_catalog .category-catalog-panel .public-product { grid-template-columns: minmax(0,1fr) 104px; }
    .menu-display-category_catalog .category-catalog-panel .public-product-image,
    .menu-display-category_catalog .category-catalog-panel .public-product img { width: 104px; }
}
/* MENUFLOW_RASHFA_CATEGORY_CATALOG_V1_END */

/* MENUFLOW_RASHFA_CATEGORY_CATALOG_V2_START */
/* Finishing pass: denser content flow, better odd-card balance, safer mobile cart spacing and clearer return navigation. */
.menu-display-category_catalog .category-catalog-view {
    animation: rashfaCatalogIn .28s cubic-bezier(.2,.72,.2,1);
}
@keyframes rashfaCatalogIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}
.menu-display-category_catalog.menu-category-transitioning .category-catalog-view,
.menu-display-category_catalog.menu-category-transitioning .category-catalog-panel {
    pointer-events: none;
}
.menu-display-category_catalog.menu-category-panel-open .menu-content {
    min-height: 0;
    padding-bottom: 34px;
}
.menu-display-category_catalog.menu-category-panel-open .category-catalog-panel {
    padding-bottom: 0;
}
.menu-display-category_catalog .category-catalog-return {
    width: min(340px, 100%);
    min-height: 46px;
    margin: 20px auto 2px;
    padding: 9px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #f3f6f5;
    border: 1px solid #2a2e2d;
    border-radius: 13px;
    background: #151817;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.menu-display-category_catalog .category-catalog-return span {
    color: var(--accent);
    font-size: 19px;
    line-height: 1;
}
.menu-display-category_catalog .category-catalog-return:hover,
.menu-display-category_catalog .category-catalog-return:focus-visible {
    color: #081211;
    border-color: var(--accent);
    background: var(--accent);
    outline: none;
    transform: translateY(-1px);
}
.menu-display-category_catalog .category-catalog-return:hover span,
.menu-display-category_catalog .category-catalog-return:focus-visible span { color: currentColor; }
html[dir="ltr"] .menu-display-category_catalog .category-catalog-return span { transform: scaleX(-1); }

@media (min-width: 821px) {
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        min-height: 176px;
        grid-template-columns: minmax(0,1fr) 238px;
    }
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-info {
        padding: 20px 19px;
    }
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) h3 { font-size: 17px; }
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) p {
        max-width: 430px;
        font-size: 12px;
        -webkit-line-clamp: 3;
    }
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) .public-price { font-size: 15px; }
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-image,
    .menu-display-category_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) img {
        width: 238px;
        min-height: 176px;
    }
}

.menu-display-category_catalog .menu-about {
    margin-top: 0;
    padding-block: 28px;
}
.menu-display-category_catalog .platform-credit { padding-bottom: 22px; }

@media (max-width: 820px) {
    .menu-display-category_catalog.menu-category-panel-open .menu-content { padding-bottom: 24px; }
    .menu-display-category_catalog .category-catalog-return {
        width: 100%;
        min-height: 48px;
        margin-top: 16px;
        font-size: 13px;
    }
    .menu-display-category_catalog.menu-cart-has-items .menu-shell {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
    .menu-display-category_catalog .cart-fab {
        bottom: max(10px, env(safe-area-inset-bottom));
    }
}
/* MENUFLOW_RASHFA_CATEGORY_CATALOG_V2_END */

/* MENUFLOW_RASHFA_MENU_INFO_V3_START */
/*
 * Keep the information sheet compact and readable in the dark category-catalog
 * template. The sheet itself intentionally stays light, like the reference,
 * while the page behind it remains blurred and non-interactive.
 */
.menu-display-category_catalog .menu-reference-sheet {
    padding: 0 !important;
    align-items: start;
    justify-items: center;
}
.menu-display-category_catalog .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(0, 0, 0, .58) !important;
    backdrop-filter: blur(6px) saturate(.78) !important;
    -webkit-backdrop-filter: blur(6px) saturate(.78) !important;
}
.menu-display-category_catalog .menu-reference-panel {
    width: min(480px, 100%) !important;
    max-height: min(86dvh, 720px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    color: #1d2422 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 22px 58px rgba(0,0,0,.38) !important;
    scrollbar-width: thin;
    scrollbar-color: #b9c2bf transparent;
}
.menu-display-category_catalog .menu-reference-panel::-webkit-scrollbar { width: 6px; }
.menu-display-category_catalog .menu-reference-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #b9c2bf;
}
.menu-display-category_catalog .menu-reference-header {
    position: sticky;
    z-index: 8;
    top: 0;
    min-height: 58px;
    color: #17201d !important;
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid #e7ebe9 !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.menu-display-category_catalog .menu-reference-header h2 {
    font-size: 18px !important;
    font-weight: 900;
}
.menu-display-category_catalog .menu-reference-header button {
    width: 38px;
    height: 38px;
    color: #fff !important;
    background: #747b78 !important;
    transition: transform .18s ease, background .18s ease;
}
.menu-display-category_catalog .menu-reference-header button:hover {
    background: #26302d !important;
    transform: rotate(5deg);
}
.menu-display-category_catalog .menu-reference-links {
    color: #1d2422;
    background: #fff !important;
}
.menu-display-category_catalog .menu-reference-link {
    min-height: 52px !important;
    padding: 10px 16px !important;
    color: #27302d !important;
    border-bottom-color: #edf0ef !important;
    background: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    transition: color .16s ease, background .16s ease;
}
.menu-display-category_catalog .menu-reference-link:hover,
.menu-display-category_catalog .menu-reference-link.active {
    color: color-mix(in srgb, var(--accent) 72%, #15201d) !important;
    background: #f2f8f6 !important;
}
.menu-display-category_catalog .menu-reference-icon,
.menu-display-category_catalog .menu-reference-link i {
    color: #707976 !important;
}
.menu-display-category_catalog .menu-reference-link > i {
    transition: transform .2s ease, color .2s ease;
    transform-origin: center;
}
.menu-display-category_catalog .menu-reference-link.active > i {
    color: var(--accent) !important;
    transform: rotate(-90deg);
}
html[dir="ltr"] .menu-display-category_catalog .menu-reference-link.active > i {
    transform: rotate(90deg);
}
.menu-display-category_catalog .menu-reference-detail {
    padding: 16px 18px 18px !important;
    color: #232b28 !important;
    border-bottom: 1px solid #e6ebe9 !important;
    background: #f6f9f8 !important;
    animation: menuInfoDetailIn .22s ease both;
}
@keyframes menuInfoDetailIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: none; }
}
.menu-display-category_catalog .menu-reference-detail h3 {
    margin: 0 0 10px !important;
    color: #16201d !important;
    font-size: 15px !important;
    font-weight: 900;
}
.menu-display-category_catalog .menu-reference-detail p {
    color: #59635f !important;
    font-size: 12.5px !important;
    line-height: 1.85 !important;
}
.menu-display-category_catalog .menu-reference-detail .public-hours {
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid #e0e6e3;
    border-radius: 10px;
    background: #fff;
}
.menu-display-category_catalog .menu-reference-detail .public-hours div {
    min-height: 39px;
    padding: 8px 11px;
    align-items: center;
    color: #323b38 !important;
    border-bottom: 1px solid #edf0ef;
    font-size: 12px !important;
    line-height: 1.45 !important;
}
.menu-display-category_catalog .menu-reference-detail .public-hours div:last-child { border-bottom: 0; }
.menu-display-category_catalog .menu-reference-detail .public-hours span {
    color: #38413e !important;
    font-weight: 700;
}
.menu-display-category_catalog .menu-reference-detail .public-hours b {
    color: #087d72 !important;
    font-weight: 900;
    direction: ltr;
}
.menu-display-category_catalog .menu-reference-language-list a {
    color: #242c29 !important;
}
.menu-display-category_catalog .menu-reference-social {
    position: sticky;
    z-index: 8;
    bottom: 0;
    min-height: 48px !important;
    padding: 7px 14px !important;
    color: #fff !important;
    background: rgba(3,5,5,.98) !important;
    border-top: 1px solid #171b1a;
    border-radius: 0 0 16px 16px !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.menu-display-category_catalog .menu-reference-social a,
.menu-display-category_catalog .menu-reference-social button {
    color: #fff !important;
}

@media (max-width: 520px) {
    .menu-display-category_catalog .menu-reference-panel {
        width: 100% !important;
        max-height: min(84dvh, 700px) !important;
        border-radius: 0 0 14px 14px !important;
    }
    .menu-display-category_catalog .menu-reference-link {
        min-height: 51px !important;
        padding-inline: 14px !important;
        font-size: 13.5px !important;
    }
    .menu-display-category_catalog .menu-reference-detail {
        padding-inline: 15px !important;
    }
    .menu-display-category_catalog .menu-reference-social {
        border-radius: 0 0 14px 14px !important;
    }
}
/* MENUFLOW_RASHFA_MENU_INFO_V3_END */

/* MENUFLOW_DONUTTERY_WIDE_LIST_V1_START */
.menu-display-wide_list.menu-body {
    font-size: 16px;
    background: #eef0ef;
}
.menu-display-wide_list .menu-shell {
    width: min(768px, 100%) !important;
    min-height: 100dvh;
    overflow: visible;
    background: #fff;
    box-shadow: 0 0 44px rgba(20, 34, 32, .10);
}
.menu-display-wide_list .menu-topbar {
    position: sticky;
    z-index: 55;
    top: 0;
    height: 62px !important;
    padding: 8px 18px !important;
    background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid #edf0ef;
    backdrop-filter: blur(14px);
}
.menu-display-wide_list .menu-top-group { gap: 8px; }
.menu-display-wide_list .menu-icon-action {
    width: 40px !important;
    height: 40px !important;
    color: #222;
    border-radius: 12px;
}
.menu-display-wide_list .menu-icon-action .icon { width: 27px !important; height: 27px !important; }
.menu-display-wide_list .order-type-trigger {
    min-height: 42px;
    padding: 6px 9px;
    gap: 7px;
    font-size: 14px !important;
    border-radius: 12px;
}
.menu-display-wide_list .order-type-symbol {
    width: 32px;
    height: 32px;
    font-size: 19px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 11%, white);
}
.menu-display-wide_list .menu-language-trigger {
    min-height: 42px;
    padding: 5px 9px;
    border: 1px solid #e5e9e7;
    border-radius: 12px;
    background: #fff;
}
.menu-display-wide_list .menu-language-trigger img { width: 29px; height: 20px; }
.menu-display-wide_list .menu-language-trigger b { font-size: 12px; }
.menu-display-wide_list .menu-language-dropdown {
    top: calc(100% + 8px);
    min-width: 245px;
    padding: 8px;
    border: 1px solid #e5e9e7;
    border-radius: 15px;
    box-shadow: 0 20px 55px rgba(20, 35, 32, .16);
}
.menu-display-wide_list .menu-cover {
    height: 380px !important;
    margin: 0 16px !important;
    border-radius: 0 0 14px 14px !important;
    background: #eef8fb;
    box-shadow: 0 8px 28px rgba(20, 91, 110, .08);
}
.menu-display-wide_list .menu-cover-slide { transition: opacity .55s ease, transform 6s ease; }
.menu-display-wide_list .cover-dots {
    right: 20px;
    bottom: 16px;
    left: auto;
    padding: 6px 8px;
    gap: 5px;
    border-radius: 999px;
    background: rgba(24, 31, 31, .42);
    backdrop-filter: blur(8px);
}
.menu-display-wide_list .cover-dots button {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.74);
}
.menu-display-wide_list .cover-dots button.active { width: 25px; border-radius: 999px; background: #fff; }
.menu-display-wide_list .cover-progress { display: none !important; }
.menu-display-wide_list .cover-arrow {
    width: 40px;
    height: 40px;
    opacity: 0;
    color: #fff;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(10, 24, 25, .35);
    backdrop-filter: blur(8px);
}
.menu-display-wide_list .menu-cover:hover .cover-arrow { opacity: 1; }
.menu-display-wide_list .menu-identity {
    min-height: 112px !important;
    padding: 22px 22px 18px !important;
    padding-inline-start: 132px !important;
    padding-inline-end: 116px !important;
    border-bottom: 1px solid #edf0ef;
    background: #fff;
}
.menu-display-wide_list .menu-logo {
    right: 24px !important;
    top: -42px !important;
    width: 104px !important;
    height: 104px !important;
    padding: 5px;
    border: 5px solid #fff !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 11px 28px rgba(12, 57, 66, .16);
}
.menu-display-wide_list .menu-identity h1 {
    color: var(--brand);
    font-size: 25px !important;
    line-height: 1.35;
}
.menu-display-wide_list .menu-identity p {
    margin-top: 5px;
    color: #717a78;
    font-size: 14px !important;
    line-height: 1.55;
}
.menu-display-wide_list .open-pill {
    left: 22px !important;
    bottom: 28px !important;
    padding: 6px 11px;
    font-size: 11px !important;
    border-radius: 999px;
}
.menu-display-wide_list .category-strip {
    position: sticky !important;
    z-index: 45;
    top: 62px !important;
    min-height: 116px !important;
    padding: 12px 13px 10px !important;
    align-items: flex-start;
    gap: 10px !important;
    border-bottom: 1px solid #edf0ef !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 8px 18px rgba(22, 39, 36, .05);
    backdrop-filter: blur(14px);
}
.menu-display-wide_list .category-pill {
    width: 76px !important;
    min-width: 76px !important;
    padding: 0 !important;
    gap: 7px !important;
    color: #202422;
    font-size: 11px !important;
    font-weight: 750;
    line-height: 1.25;
}
.menu-display-wide_list .category-pill-image {
    width: 66px !important;
    height: 66px !important;
    border: 3px solid transparent !important;
    background: #f0f4f3;
    box-shadow: inset 0 0 0 1px #e7ecea;
}
.menu-display-wide_list .category-pill-image img { transition: transform .22s ease; }
.menu-display-wide_list .category-pill:hover .category-pill-image img { transform: scale(1.06); }
.menu-display-wide_list .category-pill.active .category-pill-image {
    border-color: color-mix(in srgb, var(--brand) 72%, white) !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--brand) 18%, transparent);
}
.menu-display-wide_list .category-pill-all-image {
    display: grid !important;
    place-items: center;
    color: #202422;
    background: #eef1f0;
    font-size: 29px;
}
.menu-display-wide_list .category-pill-all.active .category-pill-all-image { color: #fff; background: var(--brand); }
.menu-display-wide_list .menu-content {
    padding: 10px 22px 112px !important;
    background: #fff;
}
.menu-display-wide_list .menu-category {
    scroll-margin-top: 186px;
    padding-top: 24px !important;
}
.menu-display-wide_list .menu-category + .menu-category { padding-top: 30px !important; }
.menu-display-wide_list .menu-category-title {
    margin: 0 0 8px !important;
    color: #121616;
    font-size: 22px !important;
    font-weight: 850;
    line-height: 1.4;
}
.menu-display-wide_list .menu-category > .muted {
    margin: 0 0 8px;
    color: #7a8381;
    font-size: 12.5px !important;
    line-height: 1.7;
}
.menu-display-wide_list .public-product {
    min-height: 126px !important;
    padding: 16px 0 !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 20px !important;
    align-items: center;
    text-align: start;
    border-bottom: 1px solid #ecefed;
    background: #fff;
}
.menu-display-wide_list .public-product:last-child { border-bottom-color: transparent; }
.menu-display-wide_list .public-product h3 {
    margin-bottom: 6px;
    color: #161918;
    font-size: 16px !important;
    font-weight: 850;
    line-height: 1.45;
}
.menu-display-wide_list .public-product p {
    margin-bottom: 10px;
    color: #737b79;
    font-size: 12px !important;
    line-height: 1.75;
    -webkit-line-clamp: 2;
}
.menu-display-wide_list .public-price {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--brand) !important;
    font-size: 15px !important;
    font-weight: 900;
}
.menu-display-wide_list .old-price { color: #9ca3a1; font-size: 11px !important; }
.menu-display-wide_list .save-price { font-size: 10px; }
.menu-display-wide_list .public-product-image,
.menu-display-wide_list .public-product img {
    width: 104px !important;
    height: 96px !important;
}
.menu-display-wide_list .public-product img {
    border: 1px solid #e3e8e6 !important;
    border-radius: 12px !important;
    background: #f8faf9;
}
.menu-display-wide_list .public-product-image i {
    left: -7px;
    bottom: -7px;
    width: 31px;
    height: 31px;
    border-width: 3px;
    font-size: 20px;
}
.menu-display-wide_list .menu-about { padding: 28px 22px 105px; }
.menu-display-wide_list .cart-fab { width: min(736px, calc(100% - 24px)) !important; }

@media (max-width: 820px) {
    .menu-display-wide_list .menu-topbar { height: 58px !important; padding-inline: 10px !important; }
    .menu-display-wide_list .menu-icon-action { width: 38px !important; height: 38px !important; }
    .menu-display-wide_list .order-type-trigger { max-width: 155px; min-height: 38px; font-size: 12px !important; }
    .menu-display-wide_list .menu-language-trigger { min-height: 38px; }
    .menu-display-wide_list .menu-cover {
        height: min(66vw, 330px) !important;
        margin-inline: 8px !important;
        border-radius: 0 0 12px 12px !important;
    }
    .menu-display-wide_list .cover-arrow { display: none; }
    .menu-display-wide_list .menu-identity {
        min-height: 96px !important;
        padding: 18px 14px 15px !important;
        padding-inline-start: 104px !important;
        padding-inline-end: 80px !important;
    }
    .menu-display-wide_list .menu-logo {
        right: 14px !important;
        top: -32px !important;
        width: 82px !important;
        height: 82px !important;
        border-radius: 15px !important;
    }
    .menu-display-wide_list .menu-identity h1 { font-size: 21px !important; }
    .menu-display-wide_list .menu-identity p { font-size: 12px !important; }
    .menu-display-wide_list .open-pill { left: 12px !important; bottom: 22px !important; font-size: 10px !important; }
    .menu-display-wide_list .category-strip {
        top: 58px !important;
        min-height: 106px !important;
        padding-inline: 8px !important;
        gap: 8px !important;
    }
    .menu-display-wide_list .category-pill { width: 70px !important; min-width: 70px !important; font-size: 10px !important; }
    .menu-display-wide_list .category-pill-image { width: 60px !important; height: 60px !important; }
    .menu-display-wide_list .menu-content { padding: 6px 14px 105px !important; }
    .menu-display-wide_list .menu-category { scroll-margin-top: 172px; padding-top: 22px !important; }
    .menu-display-wide_list .menu-category-title { font-size: 19px !important; }
    .menu-display-wide_list .public-product {
        min-height: 112px !important;
        padding: 14px 0 !important;
        grid-template-columns: minmax(0, 1fr) 90px !important;
        gap: 13px !important;
    }
    .menu-display-wide_list .public-product h3 { font-size: 14.5px !important; }
    .menu-display-wide_list .public-product p { font-size: 11px !important; }
    .menu-display-wide_list .public-price { font-size: 13.5px !important; }
    .menu-display-wide_list .public-product-image,
    .menu-display-wide_list .public-product img { width: 90px !important; height: 84px !important; }
}

@media (max-width: 390px) {
    .menu-display-wide_list .menu-top-group { gap: 3px; }
    .menu-display-wide_list .menu-language-trigger { padding-inline: 6px; }
    .menu-display-wide_list .menu-language-trigger b { display: none; }
    .menu-display-wide_list .order-type-trigger { max-width: 125px; padding-inline: 5px; }
    .menu-display-wide_list .menu-cover { height: 242px !important; }
    .menu-display-wide_list .menu-identity { padding-inline-start: 98px !important; padding-inline-end: 68px !important; }
    .menu-display-wide_list .category-pill { width: 66px !important; min-width: 66px !important; }
    .menu-display-wide_list .category-pill-image { width: 56px !important; height: 56px !important; }
    .menu-display-wide_list .public-product {
        grid-template-columns: minmax(0, 1fr) 82px !important;
        gap: 10px !important;
    }
    .menu-display-wide_list .public-product-image,
    .menu-display-wide_list .public-product img { width: 82px !important; height: 78px !important; }
}
/* MENUFLOW_DONUTTERY_WIDE_LIST_V1_END */


/* MENUFLOW_DONUTTERY_CATEGORY_INDEX_V2_START */
.menu-display-wide_list .category-pill-all {
    appearance: none;
    border: 0;
    font-family: inherit;
    cursor: pointer;
}

.menu-display-wide_list .category-index-sheet {
    z-index: 94;
    align-items: end;
}

.menu-display-wide_list .category-index-sheet .menu-sheet-backdrop {
    background: rgba(19, 29, 27, .46);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.menu-display-wide_list .category-index-panel {
    width: min(740px, calc(100% - 24px)) !important;
    max-height: min(82dvh, 780px);
    margin: 0 auto 10px;
    padding: 0;
    overflow: hidden;
    color: #17201e;
    border: 1px solid rgba(18, 64, 57, .11);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(8, 26, 23, .26);
}

.menu-display-wide_list .category-index-header {
    position: sticky;
    z-index: 3;
    top: 0;
    min-height: 94px;
    padding: 20px 22px 16px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #edf1f0;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.menu-display-wide_list .category-index-header span {
    color: var(--brand);
    font-size: 12px;
    font-weight: 800;
}

.menu-display-wide_list .category-index-header h2 {
    margin: 3px 0 2px;
    font-size: 23px;
    line-height: 1.3;
}

.menu-display-wide_list .category-index-header p {
    margin: 0;
    color: #75807d;
    font-size: 12px;
}

.menu-display-wide_list .category-index-close {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    color: #33403d;
    border: 0;
    border-radius: 50%;
    background: #edf1f0;
    font-family: inherit;
    font-size: 24px;
    cursor: pointer;
}

.menu-display-wide_list .category-index-search {
    position: sticky;
    z-index: 2;
    top: 94px;
    margin: 14px 18px 10px;
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #73807c;
    border: 1px solid #dfe7e4;
    border-radius: 14px;
    background: #f7f9f8;
}

.menu-display-wide_list .category-index-search input {
    width: 100%;
    min-width: 0;
    height: 46px;
    color: #17201e;
    border: 0;
    outline: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
}

.menu-display-wide_list .category-index-list {
    max-height: calc(min(82dvh, 780px) - 174px);
    padding: 4px 18px 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: auto;
    overscroll-behavior: contain;
}

.menu-display-wide_list .category-index-row {
    min-height: 78px;
    padding: 9px 11px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto 16px;
    align-items: center;
    gap: 11px;
    color: #17201e;
    border: 1px solid #e3eae8;
    border-radius: 16px;
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.menu-display-wide_list .category-index-row:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--brand) 34%, #dfe7e4);
    box-shadow: 0 10px 24px rgba(8, 51, 44, .08);
}

.menu-display-wide_list .category-index-row-all {
    grid-column: 1 / -1;
    color: #fff;
    border-color: var(--brand);
    background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 76%, #122f2b));
}

.menu-display-wide_list .category-index-thumb {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #f1f5f4;
}

.menu-display-wide_list .category-index-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.menu-display-wide_list .category-index-thumb-all {
    color: var(--brand);
    background: #fff;
    font-size: 24px;
    font-weight: 900;
}

.menu-display-wide_list .category-index-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.menu-display-wide_list .category-index-copy b {
    overflow: hidden;
    font-size: 14px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-display-wide_list .category-index-copy small {
    overflow: hidden;
    color: #7b8582;
    font-size: 10.5px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-display-wide_list .category-index-row-all .category-index-copy small {
    color: rgba(255,255,255,.75);
}

.menu-display-wide_list .category-index-count {
    min-width: 31px;
    height: 31px;
    padding-inline: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--brand);
    border-radius: 10px;
    background: color-mix(in srgb, var(--brand) 11%, white);
    font-size: 11px;
    font-weight: 900;
}

.menu-display-wide_list .category-index-row-all .category-index-count {
    color: #fff;
    background: rgba(255,255,255,.16);
}

.menu-display-wide_list .category-index-row > i {
    color: #9aa4a1;
    font-size: 21px;
    font-style: normal;
}

.menu-display-wide_list .category-index-row-all > i { color: #fff; }

.menu-display-wide_list .category-index-empty {
    min-height: 190px;
    padding: 30px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    color: #75807d;
    text-align: center;
}

.menu-display-wide_list .category-index-empty strong {
    color: #273330;
    font-size: 16px;
}

.menu-display-wide_list .category-index-empty span { font-size: 12px; }

@media (max-width: 640px) {
    .menu-display-wide_list .category-index-panel {
        width: 100% !important;
        max-height: 84dvh;
        margin: 0;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 24px 24px 0 0;
    }

    .menu-display-wide_list .category-index-header {
        min-height: 86px;
        padding: 17px 16px 13px;
    }

    .menu-display-wide_list .category-index-header h2 { font-size: 20px; }
    .menu-display-wide_list .category-index-header p { font-size: 11px; }
    .menu-display-wide_list .category-index-search {
        top: 86px;
        margin: 11px 12px 8px;
    }
    .menu-display-wide_list .category-index-list {
        max-height: calc(84dvh - 158px);
        padding: 3px 12px max(22px, env(safe-area-inset-bottom));
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .menu-display-wide_list .category-index-row {
        min-height: 70px;
        grid-template-columns: 48px minmax(0, 1fr) auto 14px;
        border-radius: 14px;
    }
    .menu-display-wide_list .category-index-row-all { grid-column: auto; }
    .menu-display-wide_list .category-index-thumb {
        width: 48px;
        height: 48px;
        border-radius: 12px;
    }
    .menu-display-wide_list .category-index-copy b { font-size: 13.5px; }
}
/* MENUFLOW_DONUTTERY_CATEGORY_INDEX_V2_END */

.menu-display-wide_list .category-index-row[hidden],
.menu-display-wide_list .category-index-empty[hidden] {
    display: none !important;
}


/* MENUFLOW_DONUTTERY_FINAL_V3_START */
/* Final polish for the light wide restaurant design. */
.menu-display-wide_list .order-type-trigger,
.menu-display-wide_list .menu-language-trigger { white-space: nowrap; }
.menu-display-wide_list .category-strip {
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 18px;
}
.menu-display-wide_list .category-strip::-webkit-scrollbar { display: none; }
.menu-display-wide_list .category-pill { transition: color .18s ease, transform .18s ease; }
.menu-display-wide_list .category-pill:hover { transform: translateY(-2px); }
.menu-display-wide_list .public-product { transition: background .18s ease; }
.menu-display-wide_list .public-product:hover { background: #fbfdfc; }
.menu-display-wide_list .public-product-info { min-width: 0; }
.menu-display-wide_list .public-product h3,
.menu-display-wide_list .public-product p { overflow-wrap: anywhere; }
.menu-display-wide_list .cart-fab {
    bottom: max(12px, env(safe-area-inset-bottom));
    box-shadow: 0 14px 32px color-mix(in srgb, var(--brand) 30%, transparent) !important;
}

/* A compact information dialog that matches the category index dialog. */
.menu-display-wide_list .menu-reference-sheet {
    z-index: 96;
    padding: 18px;
    align-items: start;
    justify-items: center;
}
.menu-display-wide_list .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(23, 34, 32, .48);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.menu-display-wide_list .menu-reference-panel {
    width: min(720px, calc(100% - 24px)) !important;
    max-height: min(86dvh, 760px) !important;
    margin: 0 auto !important;
    overflow: hidden auto !important;
    opacity: 0;
    border: 1px solid #e2e9e6;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 32, 29, .28) !important;
    transform: translateY(-14px) scale(.985) !important;
    transform-origin: top center;
    transition: opacity .2s ease, transform .23s cubic-bezier(.2,.72,.2,1) !important;
}
.menu-display-wide_list .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-wide_list .menu-reference-panel::-webkit-scrollbar { width: 6px; }
.menu-display-wide_list .menu-reference-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #b9c5c1;
}
.menu-display-wide_list .menu-reference-header {
    min-height: 68px;
    padding: 14px 18px;
    border-radius: 22px 22px 0 0;
}
.menu-display-wide_list .menu-reference-header h2 { font-size: 21px; }
.menu-display-wide_list .menu-reference-header button {
    width: 40px;
    height: 40px;
    color: #39423f;
    background: #edf2f0;
}
.menu-display-wide_list .menu-reference-links {
    padding: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    background: #f8faf9;
}
.menu-display-wide_list .menu-reference-link {
    min-height: 54px;
    padding: 10px 13px;
    grid-template-columns: 30px minmax(0, 1fr) 18px;
    gap: 10px;
    border: 1px solid #e2e8e5;
    border-radius: 13px;
    background: #fff;
    font-size: 13.5px;
    font-weight: 750;
}
.menu-display-wide_list .menu-reference-link:hover,
.menu-display-wide_list .menu-reference-link.active {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 35%, #dfe7e4);
    background: color-mix(in srgb, var(--brand) 6%, white);
}
.menu-display-wide_list .menu-reference-icon {
    width: 28px;
    height: 28px;
    color: #65706c;
}
.menu-display-wide_list .menu-reference-link i {
    font-size: 20px;
    transition: transform .18s ease;
}
.menu-display-wide_list .menu-reference-link.active i { transform: rotate(-90deg); }
.menu-display-wide_list .menu-reference-detail {
    grid-column: 1 / -1;
    margin: 0;
    padding: 16px;
    border: 1px solid #dfe8e5;
    border-radius: 13px;
    background: #fff;
}
.menu-display-wide_list .menu-reference-detail h3 { font-size: 16px !important; }
.menu-display-wide_list .menu-reference-detail p,
.menu-display-wide_list .menu-reference-detail .public-hours div { font-size: 13px !important; }
.menu-display-wide_list .menu-reference-detail .public-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
}
.menu-display-wide_list .menu-reference-detail .public-hours div {
    padding: 8px 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed #e2e7e5;
}
.menu-display-wide_list .menu-reference-social {
    position: sticky;
    z-index: 5;
    bottom: 0;
    min-height: 52px !important;
    border-radius: 0 0 22px 22px;
}

@media (max-width: 820px) {
    /* Preserve the complete banner artwork instead of cropping its text. */
    .menu-display-wide_list .menu-cover {
        aspect-ratio: 40 / 19;
        height: auto !important;
        min-height: 0 !important;
    }
    .menu-display-wide_list .menu-reference-sheet { padding: 10px 8px; }
    .menu-display-wide_list .menu-reference-panel {
        width: min(100%, 620px) !important;
        max-height: min(90dvh, 780px) !important;
        border-radius: 20px !important;
    }
    .menu-display-wide_list .menu-reference-header {
        min-height: 62px;
        padding: 12px 14px;
        border-radius: 20px 20px 0 0;
    }
    .menu-display-wide_list .menu-reference-header h2 { font-size: 18px; }
    .menu-display-wide_list .menu-reference-links {
        padding: 9px;
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .menu-display-wide_list .menu-reference-link {
        min-height: 50px;
        padding: 9px 12px;
        font-size: 13px;
    }
    .menu-display-wide_list .menu-reference-detail .public-hours { grid-template-columns: 1fr; }
    .menu-display-wide_list .menu-reference-social { border-radius: 0 0 20px 20px; }
}

@media (max-width: 390px) {
    .menu-display-wide_list .menu-cover {
        aspect-ratio: 40 / 19;
        height: auto !important;
    }
    .menu-display-wide_list .menu-topbar { padding-inline: 7px !important; }
    .menu-display-wide_list .order-type-trigger { max-width: 118px; }
    .menu-display-wide_list .public-product p { line-height: 1.62; }
}
/* MENUFLOW_DONUTTERY_FINAL_V3_END */

/* MENUFLOW_NOVA_CAFE_COMPACT_V1_START */
/*
 * Light compact cafe template.
 * Same 768px desktop canvas as the other designs, but with a shorter hero,
 * smaller category thumbnails and denser product rows.
 */
.menu-display-compact_list.menu-body {
    background: #edf0ef;
}
.menu-display-compact_list .menu-shell {
    width: min(768px, 100%) !important;
    color: #18211f;
    background: #fff;
    box-shadow: 0 0 44px rgba(20, 37, 33, .10);
}
.menu-display-compact_list .menu-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    min-height: 58px;
    height: auto;
    padding: 8px 14px;
    border-bottom: 1px solid rgba(31, 69, 61, .08);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 6px 20px rgba(25, 49, 44, .05);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.menu-display-compact_list .menu-top-group { gap: 7px; }
.menu-display-compact_list .menu-icon-action {
    width: 36px !important;
    height: 36px !important;
    color: #42504c;
    border-radius: 11px;
}
.menu-display-compact_list .menu-icon-action:hover {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, white);
}
.menu-display-compact_list .order-type-trigger {
    min-height: 38px;
    padding: 4px 8px;
    gap: 7px;
    border: 1px solid #e4ebe8;
    border-radius: 11px;
    background: #fff;
    font-size: 12px !important;
    font-weight: 750;
}
.menu-display-compact_list .order-type-symbol {
    width: 28px;
    height: 28px;
    font-size: 16px;
}
.menu-display-compact_list .menu-language-trigger {
    min-height: 38px;
    padding: 5px 8px;
    border-color: #e4ebe8;
    border-radius: 11px;
    background: #fff;
}
.menu-display-compact_list .menu-search-panel {
    position: sticky;
    z-index: 47;
    top: 58px;
    margin: 8px 12px;
    min-height: 46px;
    border-radius: 12px;
}

.menu-display-compact_list .menu-cover {
    height: 258px !important;
    margin: 10px 12px 0 !important;
    overflow: hidden;
    border: 1px solid #e5ebe8;
    border-radius: 15px !important;
    background: #f1f5f3;
    box-shadow: 0 10px 28px rgba(31, 65, 58, .08);
}
.menu-display-compact_list .menu-cover-slide {
    object-fit: cover;
}
.menu-display-compact_list .cover-dots {
    bottom: 11px;
    padding: 5px 8px;
    gap: 5px;
    border-radius: 999px;
    background: rgba(20, 31, 28, .26);
    backdrop-filter: blur(5px);
}
.menu-display-compact_list .cover-dots button {
    width: 7px;
    height: 7px;
}
.menu-display-compact_list .cover-dots button.active { width: 24px; }
.menu-display-compact_list .cover-arrow {
    width: 38px;
    height: 38px;
    color: #fff;
    background: rgba(18, 32, 28, .42);
    backdrop-filter: blur(5px);
}

.menu-display-compact_list .menu-identity {
    min-height: 94px !important;
    padding: 17px 18px !important;
    padding-inline-start: 112px !important;
    padding-inline-end: 98px !important;
    border-bottom: 1px solid #edf1ef;
}
.menu-display-compact_list .menu-logo {
    right: 20px !important;
    top: -31px !important;
    width: 84px !important;
    height: 84px !important;
    border: 5px solid #fff !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(16, 42, 36, .16);
}
.menu-display-compact_list .menu-identity h1 {
    font-size: 22px !important;
    font-weight: 850;
}
.menu-display-compact_list .menu-identity p {
    margin-top: 3px;
    font-size: 12.5px !important;
}
.menu-display-compact_list .open-pill {
    left: 17px;
    bottom: 21px;
    padding: 5px 10px;
    font-size: 9.5px !important;
}

.menu-display-compact_list .category-strip {
    z-index: 42;
    top: 58px;
    min-height: 84px;
    padding: 8px 12px 10px;
    gap: 7px;
    align-items: start;
    border-bottom: 1px solid #e8eeeb;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 8px 20px rgba(25, 48, 43, .05);
    backdrop-filter: blur(12px);
    scroll-padding-inline: 14px;
}
.menu-display-compact_list .category-strip::-webkit-scrollbar { display: none; }
.menu-display-compact_list .category-pill {
    width: 66px;
    min-width: 66px;
    padding: 0;
    display: grid;
    justify-items: center;
    gap: 4px;
    color: #4f5a57;
    border: 0;
    border-radius: 10px;
    background: transparent;
    font-size: 9.5px !important;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
    transition: color .18s ease, transform .18s ease;
}
.menu-display-compact_list .category-pill-image {
    width: 50px;
    height: 50px;
    display: block !important;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 16px;
    background: #eef3f1;
    box-shadow: 0 5px 14px rgba(28, 57, 50, .07);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.menu-display-compact_list .category-pill-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.menu-display-compact_list .category-pill-all-image {
    display: grid !important;
    place-items: center;
    color: #fff;
    background: var(--brand);
    font-size: 23px;
    font-weight: 900;
}
.menu-display-compact_list .category-pill.active,
.menu-display-compact_list .category-pill:hover {
    color: var(--brand);
    background: transparent;
    transform: translateY(-1px);
}
.menu-display-compact_list .category-pill.active .category-pill-image,
.menu-display-compact_list .category-pill:hover .category-pill-image {
    border-color: color-mix(in srgb, var(--brand) 58%, white);
    box-shadow: 0 7px 18px color-mix(in srgb, var(--brand) 16%, transparent);
}

.menu-display-compact_list .menu-content {
    padding: 5px 17px 108px !important;
}
.menu-display-compact_list .menu-category {
    padding-top: 22px;
    scroll-margin-top: 150px;
}
.menu-display-compact_list .menu-category-title,
.menu-display-compact_list .menu-category h2 {
    margin: 0 0 5px;
    font-size: 19px !important;
    font-weight: 850;
}
.menu-display-compact_list .menu-category > .muted {
    margin: 0 0 8px;
    color: #7b8582;
    font-size: 11px;
}
.menu-display-compact_list .public-products {
    border-top: 1px solid #edf1ef;
}
.menu-display-compact_list .public-product {
    min-height: 108px !important;
    padding: 12px 4px !important;
    grid-template-columns: minmax(0, 1fr) 86px !important;
    gap: 14px !important;
    border-bottom: 1px solid #edf1ef;
    background: #fff;
    transition: background .18s ease, transform .18s ease;
}
.menu-display-compact_list .public-product:hover {
    background: #f9fbfa;
}
.menu-display-compact_list .public-product-info { align-self: center; }
.menu-display-compact_list .public-product h3 {
    margin-bottom: 3px;
    font-size: 14.5px !important;
    font-weight: 800;
    line-height: 1.45;
}
.menu-display-compact_list .public-product p {
    margin-bottom: 6px;
    color: #727d79;
    font-size: 10.5px !important;
    line-height: 1.65;
    -webkit-line-clamp: 2;
}
.menu-display-compact_list .public-product-image,
.menu-display-compact_list .public-product img {
    width: 86px !important;
    height: 82px !important;
}
.menu-display-compact_list .public-product img {
    border: 1px solid #e5ebe8;
    border-radius: 13px !important;
    background: #f0f4f2;
}
.menu-display-compact_list .public-product-image i {
    left: -5px;
    bottom: -5px;
    width: 25px;
    height: 25px;
    color: #fff;
    background: var(--brand);
    border-width: 3px;
    font-size: 17px;
}
.menu-display-compact_list .public-price {
    color: var(--brand);
    font-size: 12.5px !important;
}
.menu-display-compact_list .old-price { font-size: 9.5px !important; }
.menu-display-compact_list .product-badges span { font-size: 8px; }
.menu-display-compact_list .cart-fab {
    width: min(740px, calc(100% - 28px)) !important;
    min-height: 56px;
    bottom: max(12px, env(safe-area-inset-bottom));
    border-radius: 14px;
}

/* Compact category index dialog. */
.menu-display-compact_list .category-index-sheet {
    z-index: 98;
    padding: 18px;
    align-items: start;
    justify-items: center;
}
.menu-display-compact_list .category-index-sheet .menu-sheet-backdrop {
    background: rgba(22, 36, 32, .48);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.menu-display-compact_list .category-index-panel {
    width: min(660px, calc(100% - 24px)) !important;
    max-height: min(86dvh, 740px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden auto !important;
    opacity: 0;
    border: 1px solid #e1e9e6;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 32, 29, .28) !important;
    transform: translateY(-14px) scale(.985) !important;
    transform-origin: top center;
    transition: opacity .2s ease, transform .23s cubic-bezier(.2,.72,.2,1) !important;
}
.menu-display-compact_list .category-index-sheet.open .category-index-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-compact_list .category-index-header {
    min-height: 72px;
    padding: 14px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 70%, #123d37));
    border-radius: 22px 22px 0 0;
}
.menu-display-compact_list .category-index-header span,
.menu-display-compact_list .category-index-header p { color: rgba(255,255,255,.78); }
.menu-display-compact_list .category-index-header h2 { margin: 1px 0; font-size: 20px; }
.menu-display-compact_list .category-index-header p { margin: 0; font-size: 10.5px; }
.menu-display-compact_list .category-index-close {
    width: 39px;
    height: 39px;
    flex: 0 0 auto;
    color: #fff;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 12px;
    background: rgba(255,255,255,.12);
    font-size: 24px;
}
.menu-display-compact_list .category-index-search {
    min-height: 48px;
    margin: 12px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #e2e9e6;
    border-radius: 13px;
    background: #f8faf9;
}
.menu-display-compact_list .category-index-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-family: inherit;
}
.menu-display-compact_list .category-index-list {
    padding: 0 12px 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.menu-display-compact_list .category-index-row {
    min-height: 72px;
    padding: 8px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto 14px;
    align-items: center;
    gap: 9px;
    color: #26302d;
    border: 1px solid #e4ebe8;
    border-radius: 14px;
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.menu-display-compact_list .category-index-row:hover {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 30%, #dfe8e5);
    background: color-mix(in srgb, var(--brand) 5%, white);
    transform: translateY(-1px);
}
.menu-display-compact_list .category-index-row-all {
    grid-column: 1 / -1;
    color: #fff;
    border-color: transparent;
    background: var(--brand);
}
.menu-display-compact_list .category-index-row-all:hover {
    color: #fff;
    background: color-mix(in srgb, var(--brand) 88%, #000);
}
.menu-display-compact_list .category-index-thumb {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background: #eef3f1;
}
.menu-display-compact_list .category-index-thumb img { width: 100%; height: 100%; object-fit: cover; }
.menu-display-compact_list .category-index-thumb-all { color: var(--brand); background: #fff; font-size: 24px; }
.menu-display-compact_list .category-index-copy { min-width: 0; display: grid; gap: 2px; }
.menu-display-compact_list .category-index-copy b { font-size: 13px; }
.menu-display-compact_list .category-index-copy small { overflow: hidden; color: #7a8481; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.menu-display-compact_list .category-index-row-all .category-index-copy small { color: rgba(255,255,255,.76); }
.menu-display-compact_list .category-index-count {
    min-width: 29px;
    height: 29px;
    padding-inline: 7px;
    display: grid;
    place-items: center;
    color: var(--brand);
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand) 10%, white);
    font-size: 10px;
    font-weight: 850;
}
.menu-display-compact_list .category-index-row-all .category-index-count { color: var(--brand); background: #fff; }
.menu-display-compact_list .category-index-row > i { color: #98a29f; font-size: 18px; font-style: normal; }
.menu-display-compact_list .category-index-row-all > i { color: #fff; }
.menu-display-compact_list .category-index-empty { padding: 32px 18px; text-align: center; color: #7a8581; }
.menu-display-compact_list .category-index-empty strong { display: block; color: #24302c; font-size: 15px; }

/* Compact restaurant information dialog. */
.menu-display-compact_list .menu-reference-sheet {
    z-index: 96;
    padding: 18px;
    align-items: start;
    justify-items: center;
}
.menu-display-compact_list .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(23, 34, 32, .48);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.menu-display-compact_list .menu-reference-panel {
    width: min(660px, calc(100% - 24px)) !important;
    max-height: min(86dvh, 740px) !important;
    margin: 0 auto !important;
    overflow: hidden auto !important;
    opacity: 0;
    border: 1px solid #e2e9e6;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 32, 29, .28) !important;
    transform: translateY(-14px) scale(.985) !important;
    transform-origin: top center;
    transition: opacity .2s ease, transform .23s cubic-bezier(.2,.72,.2,1) !important;
}
.menu-display-compact_list .menu-reference-sheet.open .menu-reference-panel { opacity: 1; transform: none !important; }
.menu-display-compact_list .menu-reference-header {
    min-height: 66px;
    padding: 13px 17px;
    border-radius: 22px 22px 0 0;
}
.menu-display-compact_list .menu-reference-header h2 { font-size: 20px; }
.menu-display-compact_list .menu-reference-header button { width: 39px; height: 39px; }
.menu-display-compact_list .menu-reference-links {
    padding: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    background: #f8faf9;
}
.menu-display-compact_list .menu-reference-link {
    min-height: 51px;
    padding: 9px 12px;
    grid-template-columns: 29px minmax(0, 1fr) 17px;
    gap: 9px;
    border: 1px solid #e2e8e5;
    border-radius: 12px;
    background: #fff;
    font-size: 13px;
    font-weight: 750;
}
.menu-display-compact_list .menu-reference-link:hover,
.menu-display-compact_list .menu-reference-link.active {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 34%, #dfe7e4);
    background: color-mix(in srgb, var(--brand) 6%, white);
}
.menu-display-compact_list .menu-reference-detail {
    grid-column: 1 / -1;
    margin: 0;
    padding: 15px;
    border: 1px solid #dfe8e5;
    border-radius: 12px;
    background: #fff;
}
.menu-display-compact_list .menu-reference-detail h3 { font-size: 15px !important; }
.menu-display-compact_list .menu-reference-detail p,
.menu-display-compact_list .menu-reference-detail .public-hours div { font-size: 12.5px !important; }
.menu-display-compact_list .menu-reference-social {
    position: sticky;
    z-index: 5;
    bottom: 0;
    min-height: 50px !important;
    border-radius: 0 0 22px 22px;
}

@media (max-width: 820px) {
    .menu-display-compact_list .menu-topbar {
        min-height: 54px;
        padding: 7px 9px;
    }
    .menu-display-compact_list .menu-icon-action {
        width: 34px !important;
        height: 34px !important;
    }
    .menu-display-compact_list .order-type-trigger {
        max-width: 140px;
        min-height: 36px;
        padding-inline: 6px;
        font-size: 11px !important;
    }
    .menu-display-compact_list .menu-language-trigger { min-height: 36px; }
    .menu-display-compact_list .menu-search-panel { top: 54px; }
    .menu-display-compact_list .menu-cover {
        aspect-ratio: 16 / 7;
        height: auto !important;
        min-height: 0 !important;
        margin: 8px 8px 0 !important;
        border-radius: 13px !important;
    }
    .menu-display-compact_list .cover-arrow { display: none; }
    .menu-display-compact_list .menu-identity {
        min-height: 82px !important;
        padding: 13px 12px !important;
        padding-inline-start: 91px !important;
        padding-inline-end: 78px !important;
    }
    .menu-display-compact_list .menu-logo {
        right: 12px !important;
        top: -25px !important;
        width: 70px !important;
        height: 70px !important;
        border-width: 4px !important;
        border-radius: 15px !important;
    }
    .menu-display-compact_list .menu-identity h1 { font-size: 18px !important; }
    .menu-display-compact_list .menu-identity p { font-size: 10.5px !important; }
    .menu-display-compact_list .open-pill {
        left: 11px;
        bottom: 17px;
        font-size: 8.5px !important;
    }
    .menu-display-compact_list .category-strip {
        top: 54px;
        min-height: 78px;
        padding: 7px 8px 9px;
        gap: 5px;
    }
    .menu-display-compact_list .category-pill {
        width: 59px;
        min-width: 59px;
        font-size: 8.7px !important;
    }
    .menu-display-compact_list .category-pill-image {
        width: 45px;
        height: 45px;
        border-radius: 14px;
    }
    .menu-display-compact_list .category-pill-all-image { font-size: 21px; }
    .menu-display-compact_list .menu-content { padding: 3px 11px 104px !important; }
    .menu-display-compact_list .menu-category {
        padding-top: 18px;
        scroll-margin-top: 138px;
    }
    .menu-display-compact_list .menu-category-title,
    .menu-display-compact_list .menu-category h2 { font-size: 16px !important; }
    .menu-display-compact_list .menu-category > .muted { font-size: 9.5px; }
    .menu-display-compact_list .public-product {
        min-height: 96px !important;
        padding: 10px 2px !important;
        grid-template-columns: minmax(0, 1fr) 76px !important;
        gap: 11px !important;
    }
    .menu-display-compact_list .public-product h3 { font-size: 13px !important; }
    .menu-display-compact_list .public-product p {
        margin-bottom: 5px;
        font-size: 9.5px !important;
        line-height: 1.55;
    }
    .menu-display-compact_list .public-product-image,
    .menu-display-compact_list .public-product img {
        width: 76px !important;
        height: 72px !important;
    }
    .menu-display-compact_list .public-price { font-size: 11.5px !important; }
    .menu-display-compact_list .category-index-sheet,
    .menu-display-compact_list .menu-reference-sheet { padding: 9px 7px; }
    .menu-display-compact_list .category-index-panel,
    .menu-display-compact_list .menu-reference-panel {
        width: min(100%, 620px) !important;
        max-height: min(91dvh, 780px) !important;
        border-radius: 19px !important;
    }
    .menu-display-compact_list .category-index-header,
    .menu-display-compact_list .menu-reference-header {
        border-radius: 19px 19px 0 0;
    }
    .menu-display-compact_list .category-index-list,
    .menu-display-compact_list .menu-reference-links { grid-template-columns: 1fr; }
    .menu-display-compact_list .category-index-row-all { grid-column: auto; }
    .menu-display-compact_list .category-index-row { min-height: 67px; }
    .menu-display-compact_list .menu-reference-social { border-radius: 0 0 19px 19px; }
}

@media (max-width: 390px) {
    .menu-display-compact_list .menu-topbar { padding-inline: 6px; }
    .menu-display-compact_list .order-type-trigger { max-width: 118px; }
    .menu-display-compact_list .menu-language-trigger b { display: none; }
    .menu-display-compact_list .menu-language-trigger { padding-inline: 6px; }
    .menu-display-compact_list .menu-identity {
        padding-inline-start: 87px !important;
        padding-inline-end: 69px !important;
    }
    .menu-display-compact_list .public-product p { -webkit-line-clamp: 2; }
}
/* MENUFLOW_NOVA_CAFE_COMPACT_V1_END */

/* MENUFLOW_NOVA_CAFE_COMPACT_V2_FINAL_START */
/*
 * Final polish for the light compact cafe template.
 * Scoped to compact_list only so Dynamyt, Rashfa and Donuttery remain unchanged.
 */
.menu-display-compact_list {
    --nova-topbar-height: 60px;
    --nova-category-height: 88px;
}
.menu-display-compact_list.menu-body {
    background:
        radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--brand) 5%, transparent), transparent 32%),
        #e9eeeb;
}
.menu-display-compact_list .menu-shell {
    border-inline: 1px solid rgba(36, 67, 59, .06);
    box-shadow: 0 0 54px rgba(19, 42, 36, .12);
}

/* Header: cleaner alignment and a single-line order label. */
.menu-display-compact_list .menu-topbar {
    min-height: var(--nova-topbar-height);
    padding: 9px 15px;
    gap: 10px;
}
.menu-display-compact_list .menu-top-group {
    min-width: 0;
    gap: 8px;
}
.menu-display-compact_list .menu-top-group-secondary { flex: 0 0 auto; }
.menu-display-compact_list .menu-icon-action {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 auto;
    border: 1px solid transparent;
}
.menu-display-compact_list .menu-icon-action:hover,
.menu-display-compact_list .menu-icon-action:focus-visible {
    border-color: color-mix(in srgb, var(--brand) 18%, #e5ece9);
}
.menu-display-compact_list .order-type-trigger {
    min-width: 0;
    max-width: 190px;
    min-height: 40px;
    padding-inline: 8px 10px;
    box-shadow: 0 4px 14px rgba(28, 54, 48, .04);
}
.menu-display-compact_list .order-type-trigger b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-display-compact_list .menu-language-trigger {
    min-height: 40px;
    box-shadow: 0 4px 14px rgba(28, 54, 48, .04);
}
.menu-display-compact_list .menu-search-panel {
    top: var(--nova-topbar-height);
    margin-inline: 14px;
    box-shadow: 0 12px 28px rgba(24, 47, 41, .12);
}

/* Slider: full artwork, calmer arrows and cleaner bullets. */
.menu-display-compact_list .menu-cover {
    height: 270px !important;
    margin: 11px 14px 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(28, 57, 50, .10);
}
.menu-display-compact_list .menu-cover-slide {
    object-fit: cover;
    object-position: center;
}
.menu-display-compact_list .cover-arrow {
    width: 36px;
    height: 36px;
    opacity: .58;
    border-color: rgba(255,255,255,.55);
    background: rgba(18, 32, 28, .34);
    transition: opacity .18s ease, transform .18s ease, background .18s ease;
}
.menu-display-compact_list .menu-cover:hover .cover-arrow,
.menu-display-compact_list .cover-arrow:focus-visible { opacity: 1; }
.menu-display-compact_list .cover-arrow:hover {
    background: rgba(18, 32, 28, .58);
    transform: translateY(-50%) scale(1.05);
}
.menu-display-compact_list .cover-dots {
    bottom: 13px;
    min-height: 22px;
    padding: 5px 7px;
    gap: 4px;
    background: rgba(18, 31, 28, .30);
    box-shadow: 0 4px 14px rgba(0,0,0,.10);
}
.menu-display-compact_list .cover-dots button {
    width: 7px;
    height: 7px;
    opacity: .74;
    background: rgba(255,255,255,.86);
}
.menu-display-compact_list .cover-dots button.active {
    width: 23px;
    opacity: 1;
    background: #fff;
}
.menu-display-compact_list .cover-progress {
    right: 16px;
    bottom: 5px;
    left: 16px;
    height: 3px;
    background: rgba(255,255,255,.28);
}
.menu-display-compact_list .cover-progress i {
    background: var(--accent);
    box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 55%, transparent);
}

/* Restaurant identity: slightly stronger hierarchy without making it bulky. */
.menu-display-compact_list .menu-identity {
    min-height: 100px !important;
    padding-top: 19px !important;
    padding-bottom: 18px !important;
    background: linear-gradient(180deg, #fff, #fcfdfc);
}
.menu-display-compact_list .menu-logo {
    width: 88px !important;
    height: 88px !important;
    border-radius: 20px !important;
}
.menu-display-compact_list .menu-identity h1 {
    font-size: 23px !important;
    line-height: 1.25;
}
.menu-display-compact_list .menu-identity p {
    max-width: 390px;
    color: #6f7976;
    line-height: 1.55;
}
.menu-display-compact_list .open-pill {
    padding: 6px 11px;
    border: 1px solid color-mix(in srgb, #26a66f 22%, transparent);
    box-shadow: 0 4px 12px rgba(39, 166, 111, .07);
}

/* Sticky category carousel with stronger active state. */
.menu-display-compact_list .category-strip {
    top: var(--nova-topbar-height);
    min-height: var(--nova-category-height);
    padding: 9px 14px 11px;
    gap: 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    box-shadow: 0 10px 24px rgba(25, 48, 43, .07);
}
.menu-display-compact_list .category-pill {
    width: 68px;
    min-width: 68px;
    padding: 3px 2px 4px;
    scroll-snap-align: center;
    border-radius: 13px;
}
.menu-display-compact_list .category-pill-image {
    width: 52px;
    height: 52px;
    border-radius: 16px;
}
.menu-display-compact_list .category-pill.active {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 7%, white);
}
.menu-display-compact_list .category-pill.active .category-pill-image {
    border-width: 3px;
    transform: translateY(-1px) scale(1.035);
}
.menu-display-compact_list .category-pill:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--brand) 55%, white);
    outline-offset: 2px;
}

/* Product sections: light cards remove the large empty-row feeling on desktop. */
.menu-display-compact_list .menu-content {
    padding: 9px 20px 116px !important;
}
.menu-display-compact_list .menu-category {
    padding-top: 25px;
    scroll-margin-top: calc(var(--nova-topbar-height) + var(--nova-category-height) + 8px);
}
.menu-display-compact_list .menu-category-title,
.menu-display-compact_list .menu-category h2 {
    margin-bottom: 7px;
    font-size: 20px !important;
    letter-spacing: -.15px;
}
.menu-display-compact_list .menu-category > .muted {
    max-width: 620px;
    margin-bottom: 11px;
    font-size: 11.5px;
    line-height: 1.7;
}
.menu-display-compact_list .public-products {
    display: grid;
    gap: 8px;
    border-top: 0;
}
.menu-display-compact_list .public-product {
    min-height: 108px !important;
    padding: 11px 10px !important;
    grid-template-columns: minmax(0, 1fr) 90px !important;
    gap: 15px !important;
    border: 1px solid #e8eeeb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(28, 54, 48, .025);
}
.menu-display-compact_list .public-product:hover {
    border-color: color-mix(in srgb, var(--brand) 20%, #e5ece9);
    background: color-mix(in srgb, var(--brand) 2.5%, white);
    box-shadow: 0 7px 20px rgba(28, 54, 48, .06);
    transform: translateY(-1px);
}
.menu-display-compact_list .public-product-info {
    min-width: 0;
    align-self: center;
}
.menu-display-compact_list .public-product h3 {
    margin-bottom: 4px;
    font-size: 15px !important;
    line-height: 1.45;
}
.menu-display-compact_list .public-product p {
    max-width: 560px;
    margin-bottom: 7px;
    font-size: 10.8px !important;
    line-height: 1.72;
}
.menu-display-compact_list .public-product-image,
.menu-display-compact_list .public-product img {
    width: 90px !important;
    height: 86px !important;
}
.menu-display-compact_list .public-product img {
    border-radius: 14px !important;
}
.menu-display-compact_list .public-product-image i {
    width: 27px;
    height: 27px;
    font-size: 18px;
    box-shadow: 0 5px 13px color-mix(in srgb, var(--brand) 25%, transparent);
}
.menu-display-compact_list .public-price {
    gap: 7px;
    font-size: 13px !important;
    font-weight: 850;
}
.menu-display-compact_list .old-price { font-size: 10px !important; }
.menu-display-compact_list .save-price { font-size: 9px !important; }
.menu-display-compact_list .product-badges { margin-bottom: 3px; }
.menu-display-compact_list .product-badges span {
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 8.5px;
}

/* Floating cart: clearer hierarchy and safe mobile spacing. */
.menu-display-compact_list .cart-fab {
    width: min(728px, calc(100% - 32px)) !important;
    min-height: 58px;
    padding-inline: 18px;
    border-radius: 16px;
    box-shadow: 0 14px 34px color-mix(in srgb, var(--brand) 23%, rgba(0,0,0,.18));
}
.menu-display-compact_list.menu-cart-has-items .menu-content {
    padding-bottom: 126px !important;
}

/* Dialogs: sticky headers/search keep long lists usable. */
.menu-display-compact_list .category-index-panel,
.menu-display-compact_list .menu-reference-panel {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.menu-display-compact_list .category-index-header,
.menu-display-compact_list .menu-reference-header {
    position: sticky;
    z-index: 8;
    top: 0;
}
.menu-display-compact_list .category-index-search {
    position: sticky;
    z-index: 7;
    top: 72px;
    margin-top: 10px;
    background: rgba(248,250,249,.97);
    box-shadow: 0 7px 16px rgba(22, 42, 37, .05);
    backdrop-filter: blur(9px);
}
.menu-display-compact_list .category-index-row {
    min-height: 74px;
}
.menu-display-compact_list .category-index-copy b {
    font-size: 13.5px;
    line-height: 1.35;
}
.menu-display-compact_list .category-index-copy small {
    font-size: 10px;
}
.menu-display-compact_list .menu-reference-links {
    align-items: start;
}
.menu-display-compact_list .menu-reference-detail {
    box-shadow: 0 5px 16px rgba(26, 49, 43, .035);
}
.menu-display-compact_list .menu-reference-social {
    box-shadow: 0 -8px 18px rgba(0,0,0,.08);
}

@media (max-width: 820px) {
    .menu-display-compact_list {
        --nova-topbar-height: 56px;
        --nova-category-height: 82px;
    }
    .menu-display-compact_list .menu-topbar {
        min-height: var(--nova-topbar-height);
        padding: 7px 8px;
        gap: 5px;
    }
    .menu-display-compact_list .menu-top-group { gap: 5px; }
    .menu-display-compact_list .menu-icon-action {
        width: 35px !important;
        height: 35px !important;
        border-radius: 10px;
    }
    .menu-display-compact_list .order-type-trigger {
        max-width: 138px;
        min-height: 38px;
        padding-inline: 6px 8px;
    }
    .menu-display-compact_list .order-type-trigger b {
        font-size: 10.8px;
    }
    .menu-display-compact_list .menu-language-trigger { min-height: 38px; }
    .menu-display-compact_list .menu-search-panel { top: var(--nova-topbar-height); }

    .menu-display-compact_list .menu-cover {
        aspect-ratio: 30 / 13;
        height: auto !important;
        margin: 8px 8px 0 !important;
        border-radius: 14px !important;
    }
    .menu-display-compact_list .menu-cover-slide {
        object-fit: cover;
        object-position: center;
    }
    .menu-display-compact_list .cover-dots {
        bottom: 9px;
        min-height: 20px;
    }
    .menu-display-compact_list .cover-progress {
        right: 10px;
        bottom: 3px;
        left: 10px;
        height: 2px;
    }

    .menu-display-compact_list .menu-identity {
        min-height: 86px !important;
        padding: 14px 11px !important;
        padding-inline-start: 92px !important;
        padding-inline-end: 77px !important;
    }
    .menu-display-compact_list .menu-logo {
        width: 72px !important;
        height: 72px !important;
        border-radius: 16px !important;
    }
    .menu-display-compact_list .menu-identity h1 { font-size: 18.5px !important; }
    .menu-display-compact_list .menu-identity p {
        font-size: 10.5px !important;
        line-height: 1.5;
    }

    .menu-display-compact_list .category-strip {
        top: var(--nova-topbar-height);
        min-height: var(--nova-category-height);
        padding: 7px 8px 9px;
        gap: 5px;
    }
    .menu-display-compact_list .category-pill {
        width: 61px;
        min-width: 61px;
        padding-inline: 1px;
        font-size: 8.8px !important;
    }
    .menu-display-compact_list .category-pill-image {
        width: 47px;
        height: 47px;
    }

    .menu-display-compact_list .menu-content {
        padding: 5px 10px 108px !important;
    }
    .menu-display-compact_list.menu-cart-has-items .menu-content {
        padding-bottom: 122px !important;
    }
    .menu-display-compact_list .menu-category {
        padding-top: 20px;
        scroll-margin-top: calc(var(--nova-topbar-height) + var(--nova-category-height) + 6px);
    }
    .menu-display-compact_list .menu-category-title,
    .menu-display-compact_list .menu-category h2 { font-size: 16.5px !important; }
    .menu-display-compact_list .menu-category > .muted {
        margin-bottom: 8px;
        font-size: 9.7px;
    }
    .menu-display-compact_list .public-products { gap: 7px; }
    .menu-display-compact_list .public-product {
        min-height: 96px !important;
        padding: 9px 8px !important;
        grid-template-columns: minmax(0, 1fr) 78px !important;
        gap: 10px !important;
        border-radius: 12px;
    }
    .menu-display-compact_list .public-product h3 { font-size: 13.5px !important; }
    .menu-display-compact_list .public-product p {
        margin-bottom: 5px;
        font-size: 9.7px !important;
        line-height: 1.58;
    }
    .menu-display-compact_list .public-product-image,
    .menu-display-compact_list .public-product img {
        width: 78px !important;
        height: 74px !important;
    }
    .menu-display-compact_list .public-price { font-size: 11.8px !important; }
    .menu-display-compact_list .cart-fab {
        width: calc(100% - 20px) !important;
        min-height: 56px;
        bottom: max(10px, env(safe-area-inset-bottom));
        border-radius: 14px;
    }

    .menu-display-compact_list .category-index-sheet,
    .menu-display-compact_list .menu-reference-sheet {
        padding: 8px 6px max(8px, env(safe-area-inset-bottom));
    }
    .menu-display-compact_list .category-index-panel,
    .menu-display-compact_list .menu-reference-panel {
        max-height: min(90dvh, 760px) !important;
    }
    .menu-display-compact_list .category-index-search { top: 70px; }
    .menu-display-compact_list .category-index-list { gap: 7px; }
    .menu-display-compact_list .category-index-row {
        min-height: 68px;
        border-radius: 13px;
    }
}

@media (max-width: 390px) {
    .menu-display-compact_list .menu-topbar { padding-inline: 5px; }
    .menu-display-compact_list .order-type-trigger { max-width: 120px; }
    .menu-display-compact_list .menu-identity {
        padding-inline-start: 88px !important;
        padding-inline-end: 68px !important;
    }
    .menu-display-compact_list .category-pill {
        width: 59px;
        min-width: 59px;
    }
    .menu-display-compact_list .public-product {
        grid-template-columns: minmax(0, 1fr) 74px !important;
    }
    .menu-display-compact_list .public-product-image,
    .menu-display-compact_list .public-product img {
        width: 74px !important;
        height: 71px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-compact_list .menu-cover-slide,
    .menu-display-compact_list .category-pill,
    .menu-display-compact_list .public-product,
    .menu-display-compact_list .cover-arrow {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}
/* MENUFLOW_NOVA_CAFE_COMPACT_V2_FINAL_END */

/* MENUFLOW_CATEGORY_PHOTO_GRID_V1_START */
/*
 * Category-first visual catalogue inspired by image-led restaurant menus.
 * The category index and product panels share the existing accessible JS flow,
 * while this block changes only the category_photo_grid presentation.
 */
.menu-display-category_photo_grid.menu-body {
    font-size: 16px;
    background: #efefef;
}
.menu-display-category_photo_grid .menu-shell {
    width: min(768px, 100%);
    color: #241c18;
    background: #fff;
    box-shadow: 0 0 48px rgba(60, 42, 32, .10);
}
.menu-display-category_photo_grid .menu-topbar {
    position: sticky;
    z-index: 72;
    top: 0;
    min-height: 62px;
    height: auto;
    padding: 8px 13px;
    color: #2d2520;
    border-bottom: 1px solid #eee8e3;
    background: rgba(255,255,255,.95);
    box-shadow: 0 5px 17px rgba(63, 44, 34, .05);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.menu-display-category_photo_grid .menu-top-group { gap: 7px; }
.menu-display-category_photo_grid .menu-icon-action {
    width: 42px;
    height: 42px;
    color: #332a25;
    border-radius: 12px;
}
.menu-display-category_photo_grid .menu-icon-action:hover { background: #f7f2ee; }
.menu-display-category_photo_grid .menu-icon-action .icon { width: 25px !important; height: 25px !important; }
.menu-display-category_photo_grid .order-type-trigger {
    min-height: 42px;
    max-width: 205px;
    padding: 5px 8px;
    gap: 8px;
    color: #332a25;
    font-size: 13.5px;
    font-weight: 800;
    border: 1px solid #eee5df;
    border-radius: 12px;
    background: #fffaf7;
}
.menu-display-category_photo_grid .order-type-symbol {
    width: 32px;
    height: 32px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 10%, #fff);
}
.menu-display-category_photo_grid .menu-language-trigger {
    min-width: 78px;
    min-height: 42px;
    padding: 6px 8px;
    border-color: #e8dfd8;
    border-radius: 11px;
    background: #fff;
}
.menu-display-category_photo_grid .menu-cover {
    height: 286px;
    margin: 12px 14px 0;
    border: 1px solid #ede4de;
    border-radius: 17px;
    background: #f7eee8;
    box-shadow: 0 16px 34px rgba(83, 57, 42, .10);
}
.menu-display-category_photo_grid .menu-cover-slide { object-fit: cover; }
.menu-display-category_photo_grid .cover-dots {
    right: auto;
    left: 50%;
    bottom: 14px;
    direction: ltr;
    transform: translateX(-50%);
}
.menu-display-category_photo_grid .cover-dots button {
    width: 8px;
    height: 8px;
    opacity: .55;
    background: #fff;
    box-shadow: 0 1px 7px rgba(39, 24, 16, .30);
}
.menu-display-category_photo_grid .cover-dots button.active { width: 27px; opacity: 1; }
.menu-display-category_photo_grid .cover-progress { display: none; }
.menu-display-category_photo_grid .cover-arrow {
    width: 40px;
    height: 40px;
    opacity: 0;
    color: #fff;
    border: 1px solid rgba(255,255,255,.40);
    background: rgba(48, 31, 22, .42);
    transition: opacity .18s ease, background .18s ease;
}
.menu-display-category_photo_grid .menu-cover:hover .cover-arrow { opacity: 1; }
.menu-display-category_photo_grid .cover-arrow:hover { background: rgba(48,31,22,.66); }
.menu-display-category_photo_grid .menu-identity {
    min-height: 105px;
    padding: 18px 20px;
    padding-inline-start: 126px;
    padding-inline-end: 105px;
    border-bottom: 1px solid #eee8e3;
}
.menu-display-category_photo_grid .menu-logo {
    right: 20px;
    top: -39px;
    width: 98px;
    height: 98px;
    border: 5px solid #fff;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 29px rgba(67, 44, 31, .18);
}
.menu-display-category_photo_grid .menu-identity h1 {
    color: var(--brand);
    font-size: 24px !important;
    line-height: 1.35;
}
.menu-display-category_photo_grid .menu-identity p {
    margin-top: 5px;
    color: #756b65;
    font-size: 13.5px !important;
    line-height: 1.65;
}
.menu-display-category_photo_grid .open-pill {
    left: 20px;
    bottom: 24px;
    padding: 6px 11px;
    font-size: 11px !important;
}
.menu-display-category_photo_grid .menu-content {
    min-height: 480px;
    padding: 22px 20px 98px;
}
.menu-display-category_photo_grid .category-photo-grid-view { padding: 0 0 22px; }
.menu-display-category_photo_grid .category-catalog-heading {
    margin-bottom: 17px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}
.menu-display-category_photo_grid .category-catalog-heading span {
    display: block;
    margin-bottom: 3px;
    color: var(--brand);
    font-size: 11px;
    font-weight: 850;
}
.menu-display-category_photo_grid .category-catalog-heading h2 {
    margin: 0;
    color: #261d18;
    font-size: 24px;
    line-height: 1.35;
}
.menu-display-category_photo_grid .category-catalog-heading > small {
    flex: 0 0 auto;
    color: #8a817b;
    font-size: 11px;
    font-weight: 700;
}
.menu-display-category_photo_grid .category-photo-grid-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.menu-display-category_photo_grid .category-photo-grid-card {
    position: relative;
    min-width: 0;
    min-height: 205px;
    padding: 0;
    overflow: hidden;
    color: #fff;
    text-align: start;
    border: 1px solid #e8ded7;
    border-radius: 16px;
    background: #8a6049;
    box-shadow: 0 9px 23px rgba(57, 37, 26, .10);
    font-family: inherit;
    cursor: pointer;
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.menu-display-category_photo_grid .category-photo-grid-card:hover,
.menu-display-category_photo_grid .category-photo-grid-card:focus-visible {
    border-color: color-mix(in srgb, var(--brand) 45%, #e8ded7);
    box-shadow: 0 15px 30px rgba(57, 37, 26, .18);
    transform: translateY(-3px);
    outline: none;
}
.menu-display-category_photo_grid .category-photo-grid-card > img {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.2,.72,.2,1), filter .35s ease;
}
.menu-display-category_photo_grid .category-photo-grid-card:hover > img { transform: scale(1.045); filter: saturate(1.04); }
.menu-display-category_photo_grid .category-photo-grid-overlay {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(25,14,9,.02) 20%, rgba(25,14,9,.83) 100%);
}
.menu-display-category_photo_grid .category-photo-grid-copy {
    position: absolute;
    right: 15px;
    bottom: 14px;
    left: 15px;
    min-width: 0;
}
.menu-display-category_photo_grid .category-photo-grid-copy strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.4;
    text-shadow: 0 2px 7px rgba(0,0,0,.42);
}
.menu-display-category_photo_grid .category-photo-grid-copy small {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.84);
    font-size: 10.5px;
    font-weight: 700;
}
.menu-display-category_photo_grid .category-photo-grid-card > i {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 50%;
    background: rgba(36,22,15,.42);
    font-size: 21px;
    font-style: normal;
    backdrop-filter: blur(7px);
}
html[dir="ltr"] .menu-display-category_photo_grid .category-photo-grid-card > i { right: 14px; left: auto; transform: scaleX(-1); }
.menu-display-category_photo_grid .category-catalog-panel {
    padding-top: 0;
    animation: photoGridPanelIn .28s cubic-bezier(.2,.72,.2,1);
}
@keyframes photoGridPanelIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}
.menu-display-category_photo_grid .category-catalog-panel-bar {
    position: sticky;
    z-index: 50;
    top: 62px;
    min-height: 70px;
    margin: -22px -20px 18px;
    padding: 10px 20px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #e9e2dd;
    box-shadow: 0 8px 23px rgba(60,42,32,.08);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}
.menu-display-category_photo_grid .category-catalog-back {
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    color: var(--brand);
    border: 1px solid #e3d8d0;
    border-radius: 12px;
    background: #fff9f5;
    font-size: 21px;
    cursor: pointer;
}
.menu-display-category_photo_grid .category-catalog-back:hover { color: #fff; background: var(--brand); border-color: var(--brand); }
html[dir="ltr"] .menu-display-category_photo_grid .category-catalog-back { transform: scaleX(-1); }
.menu-display-category_photo_grid .category-catalog-panel-bar div { min-width: 0; }
.menu-display-category_photo_grid .category-catalog-panel-bar small {
    display: block;
    margin-bottom: 1px;
    color: #8c827c;
    font-size: 10px;
    font-weight: 700;
}
.menu-display-category_photo_grid .category-catalog-panel-bar strong {
    display: block;
    overflow: hidden;
    color: #2a211c;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 900;
}
.menu-display-category_photo_grid .category-catalog-panel-bar > span {
    color: #8d837d;
    font-size: 10px;
    font-weight: 700;
}
.menu-display-category_photo_grid .category-catalog-panel > .muted {
    margin: 0 0 14px;
    color: #766d67;
    font-size: 12px;
    line-height: 1.75;
}
.menu-display-category_photo_grid .category-catalog-panel .public-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product {
    min-width: 0;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-areas: "image" "info";
    grid-template-rows: 205px minmax(112px, auto);
    color: #2a211c;
    text-align: start;
    border: 1px solid #e8e0da;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(62,43,33,.06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product:hover {
    border-color: color-mix(in srgb, var(--brand) 40%, #e8e0da);
    box-shadow: 0 13px 28px rgba(62,43,33,.12);
    transform: translateY(-2px);
}
.menu-display-category_photo_grid .category-catalog-panel .public-product-info {
    grid-area: info;
    min-width: 0;
    padding: 13px 14px 14px;
    display: flex;
    flex-direction: column;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product h3 {
    margin: 0 0 5px;
    color: #241b17;
    font-size: 15px;
    line-height: 1.45;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product p {
    margin: 0 0 9px;
    overflow: hidden;
    display: -webkit-box;
    color: #776d67;
    font-size: 10.5px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.menu-display-category_photo_grid .category-catalog-panel .public-price {
    margin-top: auto;
    color: var(--brand);
    font-size: 14px;
    font-weight: 900;
}
.menu-display-category_photo_grid .category-catalog-panel .old-price { color: #a59c96; }
.menu-display-category_photo_grid .category-catalog-panel .save-price { color: #2c9b66; }
.menu-display-category_photo_grid .category-catalog-panel .public-product-image {
    grid-area: image;
    position: relative;
    width: 100%;
    height: 205px;
    overflow: hidden;
    border-radius: 0;
    background: #f3ebe5;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    transition: transform .4s cubic-bezier(.2,.72,.2,1);
}
.menu-display-category_photo_grid .category-catalog-panel .public-product:hover .public-product-image > img { transform: scale(1.035); }
.menu-display-category_photo_grid .category-catalog-panel .public-product-image i {
    right: auto;
    left: 10px;
    bottom: 10px;
    width: 34px;
    height: 34px;
    color: #fff;
    border: 2px solid #fff;
    background: var(--brand);
    font-size: 20px;
    box-shadow: 0 5px 13px rgba(55,35,25,.22);
}
html[dir="ltr"] .menu-display-category_photo_grid .category-catalog-panel .public-product-image i { right: 10px; left: auto; }
.menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) {
    width: calc(50% - 6px);
    grid-column: 1 / -1;
    justify-self: start;
}
.menu-display-category_photo_grid .category-catalog-return {
    width: 100%;
    min-height: 52px;
    margin-top: 18px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--brand);
    border: 1px solid #e0d5ce;
    border-radius: 13px;
    background: #fff9f5;
    font-family: inherit;
    cursor: pointer;
}
.menu-display-category_photo_grid .category-catalog-return:hover { color: #fff; border-color: var(--brand); background: var(--brand); }
.menu-display-category_photo_grid .category-catalog-return span { font-size: 20px; }
html[dir="ltr"] .menu-display-category_photo_grid .category-catalog-return span { transform: scaleX(-1); }
.menu-display-category_photo_grid .menu-search-panel {
    position: sticky;
    z-index: 68;
    top: 66px;
    margin: 8px 13px;
    border-color: #e4d9d2;
    background: #fff;
}
.menu-display-category_photo_grid .cart-fab { width: min(738px, calc(100% - 30px)); }
.menu-display-category_photo_grid .menu-about { border-top-color: #eee7e2; background: #fbf8f5; }
.menu-display-category_photo_grid .product-modal-card,
.menu-display-category_photo_grid .drawer-panel { color: #26312e; background: #fff; }

@media (max-width: 820px) {
    .menu-display-category_photo_grid .menu-topbar { min-height: 58px; padding: 7px 7px; }
    .menu-display-category_photo_grid .menu-icon-action { width: 38px; height: 38px; }
    .menu-display-category_photo_grid .order-type-trigger { max-width: 165px; min-height: 39px; font-size: 12px; }
    .menu-display-category_photo_grid .menu-language-trigger { min-width: 66px; min-height: 39px; padding-inline: 6px; }
    .menu-display-category_photo_grid .menu-language-trigger b { display: none; }
    .menu-display-category_photo_grid .menu-cover {
        height: 250px;
        margin: 8px 8px 0;
        border-radius: 14px;
    }
    .menu-display-category_photo_grid .cover-arrow { display: none; }
    .menu-display-category_photo_grid .menu-identity {
        min-height: 94px;
        padding: 15px 12px;
        padding-inline-start: 103px;
        padding-inline-end: 82px;
    }
    .menu-display-category_photo_grid .menu-logo {
        right: 12px;
        top: -31px;
        width: 80px;
        height: 80px;
        border-width: 4px;
        border-radius: 17px;
    }
    .menu-display-category_photo_grid .menu-identity h1 { font-size: 21px !important; }
    .menu-display-category_photo_grid .menu-identity p { font-size: 11.5px !important; }
    .menu-display-category_photo_grid .open-pill { left: 12px; bottom: 20px; font-size: 9.5px !important; }
    .menu-display-category_photo_grid .menu-content { padding: 17px 9px 92px; }
    .menu-display-category_photo_grid .category-catalog-heading { margin-bottom: 12px; align-items: start; }
    .menu-display-category_photo_grid .category-catalog-heading h2 { font-size: 21px; }
    .menu-display-category_photo_grid .category-catalog-heading > small { margin-top: 5px; font-size: 9.5px; }
    .menu-display-category_photo_grid .category-photo-grid-list { gap: 8px; }
    .menu-display-category_photo_grid .category-photo-grid-card { min-height: 158px; border-radius: 13px; }
    .menu-display-category_photo_grid .category-photo-grid-copy { right: 10px; bottom: 10px; left: 10px; }
    .menu-display-category_photo_grid .category-photo-grid-copy strong { font-size: 14px; }
    .menu-display-category_photo_grid .category-photo-grid-copy small { font-size: 9px; }
    .menu-display-category_photo_grid .category-photo-grid-card > i { top: 9px; left: 9px; width: 29px; height: 29px; font-size: 18px; }
    .menu-display-category_photo_grid .category-catalog-panel-bar {
        top: 58px;
        min-height: 64px;
        margin: -17px -9px 14px;
        padding: 8px 9px;
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: 8px;
    }
    .menu-display-category_photo_grid .category-catalog-back { width: 36px; height: 36px; }
    .menu-display-category_photo_grid .category-catalog-panel-bar strong { font-size: 15px; }
    .menu-display-category_photo_grid .category-catalog-panel > .muted { margin-bottom: 10px; font-size: 10.5px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-products { gap: 8px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product {
        grid-template-rows: 145px minmax(104px, auto);
        border-radius: 12px;
    }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image { height: 145px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-info { padding: 10px 10px 11px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product h3 { font-size: 13px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product p { font-size: 9.5px; -webkit-line-clamp: 2; }
    .menu-display-category_photo_grid .category-catalog-panel .public-price { font-size: 12.5px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image i { width: 29px; height: 29px; font-size: 17px; }
    .menu-display-category_photo_grid .category-catalog-return { min-height: 48px; margin-top: 13px; font-size: 12px; }
}

@media (max-width: 390px) {
    .menu-display-category_photo_grid .menu-top-group { gap: 3px; }
    .menu-display-category_photo_grid .order-type-trigger { max-width: 124px; padding-inline: 4px; }
    .menu-display-category_photo_grid .order-type-trigger b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .menu-display-category_photo_grid .menu-language-trigger { width: 44px; min-width: 44px; grid-template-columns: 26px 8px; }
    .menu-display-category_photo_grid .menu-cover { height: 226px; }
    .menu-display-category_photo_grid .category-photo-grid-card { min-height: 142px; }
    .menu-display-category_photo_grid .category-photo-grid-copy strong { font-size: 13px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product { grid-template-rows: 132px minmax(100px, auto); }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image { height: 132px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product h3 { font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-category_photo_grid .category-photo-grid-card,
    .menu-display-category_photo_grid .category-photo-grid-card > img,
    .menu-display-category_photo_grid .category-catalog-panel,
    .menu-display-category_photo_grid .category-catalog-panel .public-product,
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image > img {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}
/* MENUFLOW_CATEGORY_PHOTO_GRID_V1_END */

/* MENUFLOW_CATEGORY_PHOTO_GRID_V2_FINAL_START */
/* Final refinement for the image-first category catalogue. */
.menu-display-category_photo_grid .menu-content {
    min-height: 0;
    padding-bottom: 42px;
}
.menu-display-category_photo_grid .category-catalog-view {
    padding-bottom: 6px;
}
.menu-display-category_photo_grid .category-catalog-heading {
    margin-bottom: 20px;
}
.menu-display-category_photo_grid .category-catalog-heading h2 {
    font-size: 27px;
}
.menu-display-category_photo_grid .category-catalog-heading > small {
    font-size: 12px;
}
.menu-display-category_photo_grid .category-photo-grid-list {
    gap: 14px;
}
.menu-display-category_photo_grid .category-photo-grid-card {
    min-height: 226px;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(57, 37, 26, .13);
}
.menu-display-category_photo_grid .category-photo-grid-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255,255,255,.17), transparent 37%),
        radial-gradient(circle at 82% 12%, rgba(255,255,255,.15), transparent 26%);
    mix-blend-mode: screen;
}
.menu-display-category_photo_grid .category-photo-grid-card > img {
    filter: saturate(1.07) contrast(1.03);
}
.menu-display-category_photo_grid .category-photo-grid-card:hover > img {
    transform: scale(1.055);
    filter: saturate(1.13) contrast(1.05);
}
.menu-display-category_photo_grid .category-photo-grid-overlay {
    background: linear-gradient(180deg, rgba(25,14,9,.01) 22%, rgba(25,14,9,.16) 52%, rgba(25,14,9,.91) 100%);
}
.menu-display-category_photo_grid .category-photo-grid-copy {
    right: 18px;
    bottom: 17px;
    left: 18px;
}
.menu-display-category_photo_grid .category-photo-grid-copy strong {
    font-size: 20px;
}
.menu-display-category_photo_grid .category-photo-grid-copy small {
    margin-top: 4px;
    font-size: 11.5px;
}
.menu-display-category_photo_grid .category-photo-grid-card > i {
    width: 38px;
    height: 38px;
    border-width: 1.5px;
    background: rgba(35,22,15,.52);
}

.menu-display-category_photo_grid .category-catalog-panel-bar {
    min-height: 76px;
    border-bottom-color: #e4d9d2;
    box-shadow: 0 9px 26px rgba(60,42,32,.10);
}
.menu-display-category_photo_grid .category-catalog-panel-bar strong {
    font-size: 20px;
}
.menu-display-category_photo_grid .category-catalog-panel-bar small,
.menu-display-category_photo_grid .category-catalog-panel-bar > span {
    font-size: 11px;
}
.menu-display-category_photo_grid .category-catalog-panel > .muted {
    margin-bottom: 16px;
    font-size: 13px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-products {
    gap: 14px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product {
    grid-template-rows: 224px minmax(124px, auto);
    border-radius: 17px;
    box-shadow: 0 10px 24px rgba(62,43,33,.075);
}
.menu-display-category_photo_grid .category-catalog-panel .public-product-image {
    height: 224px;
    background: #eee2d9;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product-info {
    padding: 15px 16px 16px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product h3 {
    margin-bottom: 6px;
    font-size: 17px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product p {
    margin-bottom: 11px;
    font-size: 12px;
    line-height: 1.72;
}
.menu-display-category_photo_grid .category-catalog-panel .public-price {
    font-size: 15px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product-image i {
    width: 38px;
    height: 38px;
    font-size: 21px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) {
    width: 100%;
    grid-column: 1 / -1;
    grid-template-areas: "image info";
    grid-template-columns: minmax(280px, 46%) minmax(0, 1fr);
    grid-template-rows: minmax(240px, auto);
    justify-self: stretch;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-image {
    height: 100%;
    min-height: 240px;
}
.menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-info {
    justify-content: center;
    padding: 24px;
}
.menu-display-category_photo_grid .category-catalog-return {
    margin-top: 20px;
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 850;
}
.menu-display-category_photo_grid .menu-about {
    margin-top: 0;
}

/* Large, readable menu-information dialog for this template. */
.menu-display-category_photo_grid .menu-reference-sheet {
    z-index: 230;
    padding: 24px 14px;
    align-items: center;
    justify-items: center;
}
.menu-display-category_photo_grid .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(33,25,20,.50);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}
.menu-display-category_photo_grid .menu-reference-panel {
    width: min(680px, calc(100% - 28px));
    max-height: min(84dvh, 760px);
    margin: 0;
    padding: 0;
    overflow: hidden auto;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(33,22,16,.30);
    opacity: 0;
    transform: translateY(-10px) scale(.975) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
.menu-display-category_photo_grid .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-category_photo_grid .menu-reference-panel::-webkit-scrollbar { width: 6px; }
.menu-display-category_photo_grid .menu-reference-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #cdbeb5;
}
.menu-display-category_photo_grid .menu-reference-header {
    position: sticky;
    z-index: 4;
    top: 0;
    min-height: 72px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #ece4de;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.menu-display-category_photo_grid .menu-reference-header h2 {
    margin: 0;
    font-size: 22px;
}
.menu-display-category_photo_grid .menu-reference-header button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #746b66;
    font-size: 24px;
    cursor: pointer;
}
.menu-display-category_photo_grid .menu-reference-links {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    background: #fff;
}
.menu-display-category_photo_grid .menu-reference-link {
    min-height: 56px;
    padding: 10px 13px;
    grid-template-columns: 26px minmax(0, 1fr) 18px;
    gap: 9px;
    border: 1px solid #e8e0da;
    border-radius: 13px;
    background: #fff;
    font-size: 14px;
    font-weight: 800;
}
.menu-display-category_photo_grid .menu-reference-link:hover,
.menu-display-category_photo_grid .menu-reference-link.active {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 38%, #e8e0da);
    background: #fbf7f4;
}
.menu-display-category_photo_grid .menu-reference-icon {
    width: 25px;
    height: 25px;
}
.menu-display-category_photo_grid .menu-reference-icon .icon {
    width: 22px !important;
    height: 22px !important;
}
.menu-display-category_photo_grid .menu-reference-link > i {
    font-size: 20px;
    transition: transform .2s ease;
}
.menu-display-category_photo_grid .menu-reference-link.active > i { transform: rotate(-90deg); }
html[dir="ltr"] .menu-display-category_photo_grid .menu-reference-link.active > i { transform: rotate(90deg); }
.menu-display-category_photo_grid .menu-reference-links > .menu-reference-detail {
    grid-column: 1 / -1;
}
.menu-display-category_photo_grid .menu-reference-detail {
    padding: 18px 20px;
    border: 1px solid #e8e0da;
    border-radius: 13px;
    background: #fbf8f5;
}
.menu-display-category_photo_grid .menu-reference-detail h3 {
    margin-bottom: 10px;
    font-size: 17px;
}
.menu-display-category_photo_grid .menu-reference-detail p,
.menu-display-category_photo_grid .menu-reference-detail .public-hours div {
    font-size: 13px;
    line-height: 1.75;
}
.menu-display-category_photo_grid .menu-reference-detail .public-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 16px;
}
.menu-display-category_photo_grid .menu-reference-detail .public-hours div {
    min-height: 36px;
    padding: 7px 3px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px dashed #ded3cc;
}
.menu-display-category_photo_grid .menu-reference-language-list a {
    min-height: 49px;
}
.menu-display-category_photo_grid .menu-reference-social {
    position: sticky;
    z-index: 4;
    bottom: 0;
    min-height: 52px;
    border-radius: 0 0 21px 21px;
    box-shadow: 0 -8px 22px rgba(0,0,0,.08);
}
.menu-display-category_photo_grid .menu-reference-social a,
.menu-display-category_photo_grid .menu-reference-social button {
    width: 32px;
    height: 32px;
    font-size: 12px;
}

@media (max-width: 820px) {
    .menu-display-category_photo_grid .menu-content {
        padding-bottom: 92px;
    }
    .menu-display-category_photo_grid .category-catalog-heading h2 { font-size: 23px; }
    .menu-display-category_photo_grid .category-photo-grid-list { gap: 9px; }
    .menu-display-category_photo_grid .category-photo-grid-card {
        min-height: 165px;
        border-radius: 14px;
    }
    .menu-display-category_photo_grid .category-photo-grid-copy {
        right: 11px;
        bottom: 11px;
        left: 11px;
    }
    .menu-display-category_photo_grid .category-photo-grid-copy strong { font-size: 15px; }
    .menu-display-category_photo_grid .category-photo-grid-copy small { font-size: 9.5px; }
    .menu-display-category_photo_grid .category-catalog-panel-bar {
        min-height: 68px;
    }
    .menu-display-category_photo_grid .category-catalog-panel-bar strong { font-size: 16px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-products { gap: 9px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product {
        grid-template-rows: 150px minmax(112px, auto);
        border-radius: 13px;
    }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image { height: 150px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-info { padding: 11px 11px 12px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product h3 { font-size: 14px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product p { font-size: 10px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-price { font-size: 13px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) {
        grid-template-areas: "image" "info";
        grid-template-columns: 1fr;
        grid-template-rows: 150px minmax(112px, auto);
    }
    .menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-image {
        height: 150px;
        min-height: 0;
    }
    .menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-info {
        justify-content: flex-start;
        padding: 11px 11px 12px;
    }
    .menu-display-category_photo_grid .menu-reference-sheet {
        padding: 10px 7px;
        align-items: center;
    }
    .menu-display-category_photo_grid .menu-reference-panel {
        width: min(560px, calc(100% - 14px));
        max-height: calc(100dvh - 20px);
        border-radius: 19px;
    }
    .menu-display-category_photo_grid .menu-reference-header {
        min-height: 66px;
        padding: 12px 14px;
    }
    .menu-display-category_photo_grid .menu-reference-header h2 { font-size: 19px; }
    .menu-display-category_photo_grid .menu-reference-header button { width: 39px; height: 39px; }
    .menu-display-category_photo_grid .menu-reference-links {
        grid-template-columns: 1fr;
        padding: 10px;
        gap: 8px;
    }
    .menu-display-category_photo_grid .menu-reference-link {
        min-height: 54px;
        font-size: 13px;
    }
    .menu-display-category_photo_grid .menu-reference-detail {
        padding: 15px 16px;
    }
    .menu-display-category_photo_grid .menu-reference-detail .public-hours {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 390px) {
    .menu-display-category_photo_grid .category-photo-grid-card { min-height: 148px; }
    .menu-display-category_photo_grid .category-photo-grid-copy strong { font-size: 14px; }
    .menu-display-category_photo_grid .category-catalog-panel .public-product,
    .menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) {
        grid-template-rows: 136px minmax(108px, auto);
    }
    .menu-display-category_photo_grid .category-catalog-panel .public-product-image,
    .menu-display-category_photo_grid .category-catalog-panel .public-product:last-child:nth-child(odd) .public-product-image {
        height: 136px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-category_photo_grid .menu-reference-panel {
        transition-duration: .01ms !important;
    }
}
/* MENUFLOW_CATEGORY_PHOTO_GRID_V2_FINAL_END */


/* MENUFLOW_LIGHT_PRODUCT_GRID_V1_START */
.menu-display-light_product_grid {
    background: #ededed;
    color: #171b19;
}
.menu-display-light_product_grid .menu-shell {
    width: min(768px, 100%);
    max-width: 768px;
    min-height: 100dvh;
    margin-inline: auto;
    overflow: visible;
    color: #171b19;
    background: #fff;
    box-shadow: 0 0 34px rgba(22,38,30,.12);
}
.menu-display-light_product_grid .menu-topbar {
    position: sticky;
    z-index: 85;
    top: 0;
    min-height: 58px;
    padding: 7px 15px;
    color: #171b19;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #edf0ee;
    backdrop-filter: blur(12px);
}
.menu-display-light_product_grid .menu-icon-action { width: 39px; height: 39px; }
.menu-display-light_product_grid .order-type-trigger {
    min-height: 40px;
    padding-inline: 12px;
    border: 1px solid #e1e7e3;
    border-radius: 20px;
    background: #fff;
}
.menu-display-light_product_grid .menu-cover {
    height: 340px;
    margin: 10px 16px 0;
    overflow: hidden;
    border-radius: 18px;
    background: #f6f7f5;
}
.menu-display-light_product_grid .menu-cover-slide { object-fit: cover; }
.menu-display-light_product_grid .cover-dots {
    right: 18px;
    bottom: 15px;
    left: auto;
    padding: 6px 8px;
    border-radius: 999px;
    background: rgba(0,0,0,.24);
}
.menu-display-light_product_grid .cover-dots button { width: 8px; height: 8px; background: rgba(255,255,255,.72); }
.menu-display-light_product_grid .cover-dots button.active { width: 23px; border-radius: 999px; background: #fff; }
.menu-display-light_product_grid .cover-progress { display: none; }
.menu-display-light_product_grid .menu-identity {
    min-height: 102px;
    padding: 12px 20px 16px;
    border-bottom: 1px solid #ecefec;
    background: #fff;
}
.menu-display-light_product_grid .menu-logo {
    width: 86px;
    height: 86px;
    margin-top: -43px;
    border: 4px solid #fff;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(20,40,30,.16);
}
.menu-display-light_product_grid .menu-identity h1 { font-size: 23px; color: var(--brand); }
.menu-display-light_product_grid .menu-identity p { font-size: 13px; line-height: 1.65; }
.menu-display-light_product_grid .open-pill { font-size: 11px; }
.menu-display-light_product_grid .category-strip {
    position: sticky;
    z-index: 78;
    top: 58px;
    min-height: 58px;
    padding: 8px 12px;
    gap: 8px;
    overflow-x: auto;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid #edf0ee;
    box-shadow: 0 7px 16px rgba(15,40,28,.06);
    scrollbar-width: none;
}
.menu-display-light_product_grid .category-strip::-webkit-scrollbar { display: none; }
.menu-display-light_product_grid .category-pill {
    min-height: 38px;
    padding: 8px 13px;
    gap: 7px;
    flex: 0 0 auto;
    color: #1c2521;
    border: 0;
    border-radius: 999px;
    background: #edf5ef;
    font-size: 12px;
    font-weight: 800;
}
.menu-display-light_product_grid .category-pill-image { display: none; }
.menu-display-light_product_grid .category-pill-emoji { display: inline-flex; font-size: 16px; }
.menu-display-light_product_grid .category-pill.active {
    color: #fff;
    background: #111;
}
.menu-display-light_product_grid .category-pill-all { background: #e8eee9; }
.menu-display-light_product_grid .menu-content {
    padding: 12px 16px 104px;
    background: #fff;
}
.menu-display-light_product_grid .menu-category {
    margin: 0 0 26px;
    padding: 0;
}
.menu-display-light_product_grid .menu-category-title {
    margin: 0 0 12px;
    padding: 8px 2px 0;
    font-size: 21px;
    font-weight: 900;
}
.menu-display-light_product_grid .menu-category > .muted {
    margin: -4px 2px 14px;
    color: #6b736f;
    font-size: 12px;
}
.menu-display-light_product_grid .public-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 14px;
}
.menu-display-light_product_grid .public-product {
    min-width: 0;
    padding: 0;
    display: grid;
    grid-template-areas: "image" "info";
    grid-template-columns: 1fr;
    grid-template-rows: 260px auto;
    overflow: visible;
    text-align: start;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}
.menu-display-light_product_grid .public-product:hover { transform: translateY(-2px); }
.menu-display-light_product_grid .public-product-image {
    grid-area: image;
    width: 100%;
    height: 260px;
    overflow: hidden;
    border: 1px solid #e6ebe8;
    border-radius: 14px;
    background: #f4f6f5;
}
.menu-display-light_product_grid .public-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}
.menu-display-light_product_grid .public-product:hover .public-product-image img { transform: scale(1.025); }
.menu-display-light_product_grid .public-product-image i {
    right: 10px;
    bottom: 10px;
    left: auto;
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--brand);
    font-size: 22px;
    font-style: normal;
    box-shadow: 0 5px 13px rgba(0,0,0,.16);
}
html[dir="ltr"] .menu-display-light_product_grid .public-product-image i { right: auto; left: 10px; }
.menu-display-light_product_grid .public-product-info {
    grid-area: info;
    padding: 10px 4px 0;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
}
.menu-display-light_product_grid .public-product h3 {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.45;
}
.menu-display-light_product_grid .public-product p {
    display: -webkit-box;
    margin: 0 0 8px;
    overflow: hidden;
    color: #6b746f;
    font-size: 11px;
    line-height: 1.6;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.menu-display-light_product_grid .product-badges {
    min-height: 22px;
    margin-bottom: 5px;
}
.menu-display-light_product_grid .product-badges span {
    padding: 4px 7px;
    color: #d45c3d;
    border-radius: 999px;
    background: #fff0e9;
    font-size: 9px;
}
.menu-display-light_product_grid .public-price {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 10px;
    color: var(--brand);
    font-size: 15px;
    font-weight: 900;
}
.menu-display-light_product_grid .old-price {
    color: #8b918e;
    font-size: 13px;
    text-decoration: line-through;
}
.menu-display-light_product_grid .save-price {
    color: #0aa26c;
    font-size: 10px;
    font-weight: 800;
}
.menu-display-light_product_grid .public-product:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 7px);
    justify-self: center;
}
.menu-display-light_product_grid .menu-about,
.menu-display-light_product_grid .review-section,
.menu-display-light_product_grid .platform-promo { background: #fff; }
.menu-display-light_product_grid .cart-fab {
    right: 50%;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: auto;
    width: min(736px, calc(100% - 28px));
    min-height: 56px;
    transform: translateX(50%);
    border-radius: 15px;
    background: var(--brand);
}
.menu-display-light_product_grid .menu-reference-panel,
.menu-display-light_product_grid .category-index-panel { width: min(680px, calc(100% - 28px)); }

@media (max-width: 820px) {
    .menu-display-light_product_grid .menu-cover { height: 310px; margin-inline: 10px; }
    .menu-display-light_product_grid .menu-content { padding-inline: 12px; }
    .menu-display-light_product_grid .public-products { gap: 17px 10px; }
    .menu-display-light_product_grid .public-product { grid-template-rows: 220px auto; }
    .menu-display-light_product_grid .public-product-image { height: 220px; }
}
@media (max-width: 500px) {
    .menu-display-light_product_grid .menu-topbar { min-height: 56px; padding-inline: 8px; }
    .menu-display-light_product_grid .category-strip { top: 56px; padding-inline: 8px; }
    .menu-display-light_product_grid .menu-cover { height: 235px; border-radius: 14px; }
    .menu-display-light_product_grid .menu-identity { min-height: 88px; padding-inline: 13px; }
    .menu-display-light_product_grid .menu-logo { width: 72px; height: 72px; margin-top: -36px; }
    .menu-display-light_product_grid .menu-identity h1 { font-size: 19px; }
    .menu-display-light_product_grid .category-pill { min-height: 36px; padding: 7px 11px; font-size: 11px; }
    .menu-display-light_product_grid .menu-content { padding: 10px 8px 96px; }
    .menu-display-light_product_grid .menu-category-title { font-size: 19px; }
    .menu-display-light_product_grid .public-products { gap: 15px 8px; }
    .menu-display-light_product_grid .public-product { grid-template-rows: 172px auto; }
    .menu-display-light_product_grid .public-product-image { height: 172px; border-radius: 11px; }
    .menu-display-light_product_grid .public-product-info { padding-inline: 2px; }
    .menu-display-light_product_grid .public-product h3 { font-size: 13px; }
    .menu-display-light_product_grid .public-product p { display: none; }
    .menu-display-light_product_grid .public-price { gap: 3px 7px; font-size: 13px; }
    .menu-display-light_product_grid .old-price { font-size: 11px; }
    .menu-display-light_product_grid .save-price { width: 100%; font-size: 9px; }
    .menu-display-light_product_grid .public-product-image i { width: 31px; height: 31px; font-size: 20px; }
    .menu-display-light_product_grid .public-product:last-child:nth-child(odd) { width: calc(50% - 4px); }
}
@media (max-width: 340px) {
    .menu-display-light_product_grid .public-products { grid-template-columns: 1fr; }
    .menu-display-light_product_grid .public-product:last-child:nth-child(odd) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .menu-display-light_product_grid .public-product,
    .menu-display-light_product_grid .public-product-image img { transition: none !important; }
}
/* MENUFLOW_LIGHT_PRODUCT_GRID_V1_END */


/* MENUFLOW_LIGHT_PRODUCT_GRID_V2_FINAL_START */
.menu-display-light_product_grid .menu-cover {
    height: auto;
    aspect-ratio: 1200 / 520;
    max-height: 340px;
    background: #fffaf0;
}
.menu-display-light_product_grid .menu-cover-track,
.menu-display-light_product_grid .menu-cover-slide {
    height: 100%;
}
.menu-display-light_product_grid .menu-cover-slide {
    object-fit: contain;
    object-position: center;
    background: #fffaf0;
}
.menu-display-light_product_grid .menu-identity {
    position: relative;
    min-height: 108px;
    padding: 14px 20px 18px;
    align-items: flex-start;
}
.menu-display-light_product_grid .menu-identity-copy {
    padding-top: 3px;
}
.menu-display-light_product_grid .menu-logo {
    flex: 0 0 auto;
}
.menu-display-light_product_grid .menu-identity h1 {
    margin-bottom: 5px;
    font-size: 25px;
    line-height: 1.25;
}
.menu-display-light_product_grid .menu-identity p {
    max-width: 520px;
    font-size: 14px;
    line-height: 1.7;
}
.menu-display-light_product_grid .open-pill {
    align-self: flex-end;
    margin-top: 4px;
}
.menu-display-light_product_grid .category-strip {
    padding-inline: 14px;
    scroll-padding-inline: 18px;
    overscroll-behavior-inline: contain;
}
.menu-display-light_product_grid .category-pill {
    min-height: 40px;
    padding: 9px 15px;
    font-size: 12.5px;
    box-shadow: inset 0 0 0 1px rgba(15,60,35,.03);
}
.menu-display-light_product_grid .category-pill.active {
    box-shadow: 0 7px 16px rgba(0,0,0,.14);
}
.menu-display-light_product_grid .menu-content {
    padding-top: 16px;
}
.menu-display-light_product_grid .menu-category {
    margin-bottom: 30px;
}
.menu-display-light_product_grid .menu-category-title {
    margin-bottom: 8px;
    font-size: 23px;
    line-height: 1.35;
}
.menu-display-light_product_grid .menu-category > .muted {
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.65;
}
.menu-display-light_product_grid .public-products {
    gap: 18px 14px;
}
.menu-display-light_product_grid .public-product {
    grid-template-rows: 232px minmax(126px, auto);
    overflow: hidden;
    border: 1px solid #e5ebe7;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(24,52,38,.07);
}
.menu-display-light_product_grid .public-product:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(24,52,38,.11);
}
.menu-display-light_product_grid .public-product-image {
    height: 232px;
    border: 0;
    border-radius: 0;
    background: #f7f4ee;
}
.menu-display-light_product_grid .public-product-image img {
    object-fit: cover;
}
.menu-display-light_product_grid .public-product-info {
    padding: 11px 13px 14px;
}
.menu-display-light_product_grid .product-badges {
    min-height: 20px;
    margin-bottom: 4px;
}
.menu-display-light_product_grid .product-badges span {
    padding: 4px 8px;
    font-size: 9.5px;
}
.menu-display-light_product_grid .public-product h3 {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.45;
}
.menu-display-light_product_grid .public-product p {
    margin-bottom: 9px;
    font-size: 11.5px;
    line-height: 1.65;
}
.menu-display-light_product_grid .public-price {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    align-items: baseline;
    gap: 3px 10px;
    font-size: 16px;
}
.menu-display-light_product_grid .old-price {
    font-size: 12px;
}
.menu-display-light_product_grid .save-price {
    grid-column: 1 / -1;
    font-size: 10px;
}
.menu-display-light_product_grid .public-product:last-child:nth-child(odd) {
    width: calc(50% - 7px);
    grid-column: 1 / -1;
    justify-self: center;
}
.menu-display-light_product_grid .menu-about {
    margin-top: 2px;
}

/* Large, compact information dialog matching the finished light templates. */
.menu-display-light_product_grid .menu-reference-sheet {
    z-index: 230;
    padding: 22px 14px;
    align-items: center;
    justify-items: center;
}
.menu-display-light_product_grid .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(31,42,36,.50);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}
.menu-display-light_product_grid .menu-reference-panel {
    width: min(680px, calc(100% - 28px));
    max-height: min(84dvh, 760px);
    margin: 0;
    padding: 0;
    overflow: hidden auto;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(20,36,28,.30);
    opacity: 0;
    transform: translateY(-10px) scale(.975) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
.menu-display-light_product_grid .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-light_product_grid .menu-reference-panel::-webkit-scrollbar { width: 6px; }
.menu-display-light_product_grid .menu-reference-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #c6d2cb;
}
.menu-display-light_product_grid .menu-reference-header {
    position: sticky;
    z-index: 4;
    top: 0;
    min-height: 72px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #e7ece9;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.menu-display-light_product_grid .menu-reference-header h2 {
    margin: 0;
    font-size: 22px;
}
.menu-display-light_product_grid .menu-reference-header button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #6f7773;
    font-size: 24px;
    cursor: pointer;
}
.menu-display-light_product_grid .menu-reference-links {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    background: #fff;
}
.menu-display-light_product_grid .menu-reference-link {
    min-height: 56px;
    padding: 10px 13px;
    grid-template-columns: 26px minmax(0, 1fr) 18px;
    gap: 9px;
    border: 1px solid #e3e9e5;
    border-radius: 13px;
    background: #fff;
    font-size: 14px;
    font-weight: 800;
}
.menu-display-light_product_grid .menu-reference-link:hover,
.menu-display-light_product_grid .menu-reference-link.active {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 38%, #e3e9e5);
    background: #f5faf7;
}
.menu-display-light_product_grid .menu-reference-icon,
.menu-display-light_product_grid .menu-reference-icon .icon {
    width: 23px !important;
    height: 23px !important;
}
.menu-display-light_product_grid .menu-reference-link > i {
    font-size: 20px;
    transition: transform .2s ease;
}
.menu-display-light_product_grid .menu-reference-link.active > i { transform: rotate(-90deg); }
html[dir="ltr"] .menu-display-light_product_grid .menu-reference-link.active > i { transform: rotate(90deg); }
.menu-display-light_product_grid .menu-reference-links > .menu-reference-detail {
    grid-column: 1 / -1;
}
.menu-display-light_product_grid .menu-reference-detail {
    padding: 18px 20px;
    border: 1px solid #e3e9e5;
    border-radius: 13px;
    background: #f7faf8;
}
.menu-display-light_product_grid .menu-reference-detail h3 {
    margin-bottom: 10px;
    font-size: 17px;
}
.menu-display-light_product_grid .menu-reference-detail p,
.menu-display-light_product_grid .menu-reference-detail .public-hours div {
    font-size: 13px;
    line-height: 1.75;
}
.menu-display-light_product_grid .menu-reference-detail .public-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 16px;
}
.menu-display-light_product_grid .menu-reference-detail .public-hours div {
    min-height: 36px;
    padding: 7px 3px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px dashed #d8e1dc;
}
.menu-display-light_product_grid .menu-reference-social {
    position: sticky;
    z-index: 4;
    bottom: 0;
    min-height: 52px;
    border-radius: 0 0 21px 21px;
    box-shadow: 0 -8px 22px rgba(0,0,0,.08);
}
.menu-display-light_product_grid .menu-reference-social a,
.menu-display-light_product_grid .menu-reference-social button {
    width: 32px;
    height: 32px;
    font-size: 12px;
}

@media (max-width: 820px) {
    .menu-display-light_product_grid .menu-cover {
        max-height: none;
        margin-inline: 10px;
    }
    .menu-display-light_product_grid .public-product {
        grid-template-rows: 205px minmax(120px, auto);
    }
    .menu-display-light_product_grid .public-product-image { height: 205px; }
}
@media (max-width: 500px) {
    .menu-display-light_product_grid .menu-cover {
        height: auto;
        aspect-ratio: 1200 / 520;
        border-radius: 14px;
    }
    .menu-display-light_product_grid .menu-cover-slide {
        object-fit: contain;
    }
    .menu-display-light_product_grid .cover-dots {
        right: 12px;
        bottom: 9px;
        padding: 5px 7px;
    }
    .menu-display-light_product_grid .menu-identity {
        min-height: 94px;
        padding: 12px 13px 14px;
    }
    .menu-display-light_product_grid .menu-logo {
        width: 70px;
        height: 70px;
        margin-top: -34px;
    }
    .menu-display-light_product_grid .menu-identity h1 { font-size: 20px; }
    .menu-display-light_product_grid .menu-identity p { font-size: 12.5px; }
    .menu-display-light_product_grid .category-strip {
        padding-inline: 10px;
        scroll-padding-inline: 14px;
    }
    .menu-display-light_product_grid .category-pill {
        min-height: 36px;
        padding: 7px 11px;
        font-size: 11px;
    }
    .menu-display-light_product_grid .menu-content {
        padding: 12px 8px 100px;
    }
    .menu-display-light_product_grid .menu-category {
        margin-bottom: 25px;
    }
    .menu-display-light_product_grid .menu-category-title {
        margin-bottom: 6px;
        font-size: 20px;
    }
    .menu-display-light_product_grid .menu-category > .muted {
        margin-bottom: 12px;
        font-size: 11.5px;
    }
    .menu-display-light_product_grid .public-products {
        gap: 12px 8px;
    }
    .menu-display-light_product_grid .public-product {
        grid-template-rows: 160px minmax(116px, auto);
        border-radius: 12px;
    }
    .menu-display-light_product_grid .public-product-image {
        height: 160px;
    }
    .menu-display-light_product_grid .public-product-info {
        padding: 9px 9px 11px;
    }
    .menu-display-light_product_grid .public-product h3 {
        font-size: 13.5px;
        line-height: 1.45;
    }
    .menu-display-light_product_grid .public-product p {
        display: -webkit-box;
        margin-bottom: 7px;
        font-size: 9.5px;
        -webkit-line-clamp: 1;
    }
    .menu-display-light_product_grid .public-price {
        grid-template-columns: 1fr;
        gap: 2px;
        font-size: 13.5px;
    }
    .menu-display-light_product_grid .old-price {
        font-size: 10.5px;
    }
    .menu-display-light_product_grid .save-price {
        font-size: 9px;
    }
    .menu-display-light_product_grid .public-product:last-child:nth-child(odd) {
        width: 100%;
    }
    .menu-display-light_product_grid .menu-reference-sheet {
        padding: 8px 6px;
        align-items: center;
    }
    .menu-display-light_product_grid .menu-reference-panel {
        width: min(560px, calc(100% - 12px));
        max-height: calc(100dvh - 16px);
        border-radius: 18px;
    }
    .menu-display-light_product_grid .menu-reference-header {
        min-height: 64px;
        padding: 11px 13px;
    }
    .menu-display-light_product_grid .menu-reference-header h2 { font-size: 19px; }
    .menu-display-light_product_grid .menu-reference-header button { width: 39px; height: 39px; }
    .menu-display-light_product_grid .menu-reference-links {
        grid-template-columns: 1fr;
        padding: 9px;
        gap: 8px;
    }
    .menu-display-light_product_grid .menu-reference-link {
        min-height: 53px;
        font-size: 13px;
    }
    .menu-display-light_product_grid .menu-reference-detail {
        padding: 14px 15px;
    }
    .menu-display-light_product_grid .menu-reference-detail .public-hours {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 340px) {
    .menu-display-light_product_grid .public-products { grid-template-columns: 1fr; }
    .menu-display-light_product_grid .public-product:last-child:nth-child(odd) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .menu-display-light_product_grid .menu-reference-panel,
    .menu-display-light_product_grid .public-product,
    .menu-display-light_product_grid .public-product-image img {
        transition-duration: .01ms !important;
    }
}
/* MENUFLOW_LIGHT_PRODUCT_GRID_V2_FINAL_END */

/* MENUFLOW_LIGHT_PRODUCT_GRID_LOGO_CTA_FIX_V3_START */
/* Keep the shared markup backwards-compatible for the other menu templates. */
.product-order-cta { display: contents; }
.product-order-cta > b { display: none; }

/* The logo must overlap the hero instead of being painted underneath it. */
.menu-display-light_product_grid .menu-cover {
    position: relative;
    z-index: 1;
}
.menu-display-light_product_grid .menu-identity {
    position: relative;
    z-index: 12;
    overflow: visible;
    isolation: isolate;
}
.menu-display-light_product_grid .menu-logo {
    z-index: 20;
    top: -42px;
    margin-top: 0 !important;
    border-width: 4px;
    box-shadow: 0 12px 30px rgba(24, 52, 38, .22);
}

/* A visible order action on every light-grid product card. The full card
   remains clickable and continues to open the product options dialog. */
.menu-display-light_product_grid .product-order-cta {
    position: absolute;
    z-index: 4;
    inset-inline-start: 10px;
    bottom: 10px;
    min-height: 38px;
    padding: 5px 9px 5px 6px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, .92);
    border-radius: 999px;
    background: var(--brand);
    box-shadow: 0 9px 22px color-mix(in srgb, var(--brand) 30%, transparent);
    pointer-events: none;
}
.menu-display-light_product_grid .product-order-cta > i {
    position: static !important;
    width: 25px !important;
    height: 25px !important;
    flex: 0 0 25px;
    color: var(--brand) !important;
    border: 0 !important;
    background: #fff !important;
    font-size: 18px !important;
    font-weight: 900;
}
.menu-display-light_product_grid .product-order-cta > b {
    display: block;
    color: #fff;
    font-size: 11.5px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}
.menu-display-light_product_grid .public-product:hover .product-order-cta {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px color-mix(in srgb, var(--brand) 38%, transparent);
}
.menu-display-light_product_grid .public-product:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--brand) 35%, transparent);
    outline-offset: 3px;
}

@media (max-width: 500px) {
    .menu-display-light_product_grid .menu-logo {
        top: -36px;
        width: 74px;
        height: 74px;
    }
    .menu-display-light_product_grid .product-order-cta {
        inset-inline-start: 7px;
        bottom: 7px;
        min-height: 32px;
        padding: 4px 7px 4px 5px;
        gap: 5px;
        border-width: 2px;
    }
    .menu-display-light_product_grid .product-order-cta > i {
        width: 22px !important;
        height: 22px !important;
        flex-basis: 22px;
        font-size: 16px !important;
    }
    .menu-display-light_product_grid .product-order-cta > b {
        font-size: 9.5px;
    }
}

@media (max-width: 360px) {
    .menu-display-light_product_grid .product-order-cta > b { display: none; }
    .menu-display-light_product_grid .product-order-cta {
        width: 32px;
        padding: 4px;
        justify-content: center;
    }
}
/* MENUFLOW_LIGHT_PRODUCT_GRID_LOGO_CTA_FIX_V3_END */

/* MENUFLOW_LIGHT_GRID_CATEGORY_INDEX_V4_START */
/* Polished "all categories" dialog for the light product grid template. */
.menu-display-light_product_grid .category-index-sheet {
    z-index: 245;
    padding: 20px 14px;
    align-items: center;
    justify-items: center;
}
.menu-display-light_product_grid .category-index-sheet .menu-sheet-backdrop {
    background: rgba(25, 34, 29, .56);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.menu-display-light_product_grid .category-index-panel {
    width: min(720px, calc(100% - 28px));
    max-height: min(86dvh, 780px);
    margin: 0;
    padding: 0;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    color: #17231d;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 85px rgba(15, 31, 22, .34);
    opacity: 0;
    transform: translateY(14px) scale(.975) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
.menu-display-light_product_grid .category-index-sheet.open .category-index-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-light_product_grid .category-index-header {
    position: relative;
    z-index: 4;
    min-height: 94px;
    padding: 18px 22px;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #e7ece8;
    background:
        radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--brand) 10%, transparent) 0 64px, transparent 65px),
        linear-gradient(135deg, #fffef9, #f7fbf8);
}
.menu-display-light_product_grid .category-index-header > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.menu-display-light_product_grid .category-index-header span {
    color: var(--brand);
    font-size: 11.5px;
    font-weight: 800;
}
.menu-display-light_product_grid .category-index-header h2 {
    margin: 0;
    color: #17231d;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.25;
}
.menu-display-light_product_grid .category-index-header p {
    margin: 1px 0 0;
    color: #728078;
    font-size: 11.5px;
    line-height: 1.5;
}
.menu-display-light_product_grid .category-index-close {
    width: 44px;
    height: 44px;
    display: grid;
    flex: 0 0 44px;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: #6d7671;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease;
}
.menu-display-light_product_grid .category-index-close:hover {
    background: var(--brand);
    transform: rotate(6deg) scale(1.04);
}
.menu-display-light_product_grid .category-index-search {
    min-height: 52px;
    margin: 14px 16px 10px;
    padding: 0 15px;
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: #77827c;
    border: 1px solid #dfe7e2;
    border-radius: 14px;
    background: #f8faf9;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.menu-display-light_product_grid .category-index-search:focus-within {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 42%, #dfe7e2);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 10%, transparent);
}
.menu-display-light_product_grid .category-index-search .icon {
    width: 21px !important;
    height: 21px !important;
}
.menu-display-light_product_grid .category-index-search input {
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 0;
    color: #17231d;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 14px;
}
.menu-display-light_product_grid .category-index-search input::placeholder { color: #909a95; }
.menu-display-light_product_grid .category-index-list {
    min-height: 0;
    padding: 0 16px 17px;
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 10px;
    overflow: hidden auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #b8c5bd transparent;
}
.menu-display-light_product_grid .category-index-list::-webkit-scrollbar { width: 6px; }
.menu-display-light_product_grid .category-index-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #b8c5bd;
}
.menu-display-light_product_grid .category-index-row {
    min-width: 0;
    min-height: 82px;
    padding: 9px 10px;
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) 36px 17px;
    align-items: center;
    gap: 10px;
    color: #17231d;
    text-decoration: none;
    border: 1px solid #e1e8e4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(25, 50, 36, .045);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.menu-display-light_product_grid .category-index-row:hover {
    border-color: color-mix(in srgb, var(--brand) 34%, #e1e8e4);
    background: #fbfdfc;
    box-shadow: 0 9px 22px rgba(25, 50, 36, .09);
    transform: translateY(-2px);
}
.menu-display-light_product_grid .category-index-row-all {
    min-height: 78px;
    grid-column: 1 / -1;
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 92%, #111), var(--brand));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--brand) 22%, transparent);
}
.menu-display-light_product_grid .category-index-row-all:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 84%, #111), var(--brand));
}
.menu-display-light_product_grid .category-index-thumb {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border: 1px solid #e6ece8;
    border-radius: 15px;
    background: #f2f7f4;
}
.menu-display-light_product_grid .category-index-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.menu-display-light_product_grid .category-index-thumb-all {
    display: grid;
    place-items: center;
    color: var(--brand);
    border-color: rgba(255,255,255,.65);
    background: #fff;
    font-size: 25px;
    font-weight: 900;
}
.menu-display-light_product_grid .category-index-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.menu-display-light_product_grid .category-index-copy b {
    overflow: hidden;
    color: inherit;
    font-size: 14.5px;
    font-weight: 900;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-display-light_product_grid .category-index-copy small {
    overflow: hidden;
    color: #7b8780;
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-display-light_product_grid .category-index-row-all .category-index-copy small { color: rgba(255,255,255,.76); }
.menu-display-light_product_grid .category-index-count {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--brand);
    border-radius: 50%;
    background: color-mix(in srgb, var(--brand) 10%, #fff);
    font-size: 11px;
    font-weight: 900;
}
.menu-display-light_product_grid .category-index-row-all .category-index-count {
    color: var(--brand);
    background: #fff;
}
.menu-display-light_product_grid .category-index-row > i {
    color: #9aa59f;
    font-size: 21px;
    font-style: normal;
    line-height: 1;
}
.menu-display-light_product_grid .category-index-row-all > i { color: #fff; }
.menu-display-light_product_grid .category-index-empty {
    padding: 38px 20px 42px;
    flex: 1 1 auto;
    text-align: center;
    color: #7a8580;
}
.menu-display-light_product_grid .category-index-empty strong {
    margin-top: 8px;
    display: block;
    color: #17231d;
    font-size: 16px;
}
.menu-display-light_product_grid .category-index-empty span { font-size: 12px; }
.menu-display-light_product_grid .category-index-row[hidden],
.menu-display-light_product_grid .category-index-empty[hidden] { display: none !important; }

@media (max-width: 600px) {
    .menu-display-light_product_grid .category-index-sheet {
        padding: 0 6px;
        align-items: end;
    }
    .menu-display-light_product_grid .category-index-panel {
        width: 100%;
        max-height: calc(100dvh - 54px);
        border-radius: 24px 24px 0 0;
        transform: translateY(102%) !important;
    }
    .menu-display-light_product_grid .category-index-sheet.open .category-index-panel { transform: none !important; }
    .menu-display-light_product_grid .category-index-header {
        min-height: 82px;
        padding: 14px 16px;
    }
    .menu-display-light_product_grid .category-index-header h2 { font-size: 22px; }
    .menu-display-light_product_grid .category-index-header p { font-size: 10.5px; }
    .menu-display-light_product_grid .category-index-close {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 23px;
    }
    .menu-display-light_product_grid .category-index-search {
        min-height: 50px;
        margin: 11px 12px 9px;
        border-radius: 13px;
    }
    .menu-display-light_product_grid .category-index-list {
        padding: 0 12px max(16px, env(safe-area-inset-bottom));
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .menu-display-light_product_grid .category-index-row {
        min-height: 72px;
        grid-template-columns: 52px minmax(0, 1fr) 34px 16px;
        gap: 9px;
        border-radius: 14px;
    }
    .menu-display-light_product_grid .category-index-row-all { min-height: 70px; }
    .menu-display-light_product_grid .category-index-thumb {
        width: 52px;
        height: 52px;
        border-radius: 13px;
    }
    .menu-display-light_product_grid .category-index-copy b { font-size: 13.5px; }
    .menu-display-light_product_grid .category-index-copy small { font-size: 9.5px; }
}
@media (prefers-reduced-motion: reduce) {
    .menu-display-light_product_grid .category-index-panel,
    .menu-display-light_product_grid .category-index-row,
    .menu-display-light_product_grid .category-index-close { transition-duration: .01ms !important; }
}
/* MENUFLOW_LIGHT_GRID_CATEGORY_INDEX_V4_END */

/* MENUFLOW_CLASSIC_THUMBNAIL_LIST_V1_START */
.menu-display-classic_thumbnail_list {
    --classic-surface: #ffffff;
    --classic-soft: #f8f5f0;
    --classic-line: #ece6de;
    --classic-ink: #2f241e;
    --classic-muted: #786e68;
    background: #eeeae5;
    color: var(--classic-ink);
    font-size: 15px;
}
.menu-display-classic_thumbnail_list .menu-shell {
    width: min(768px, 100%);
    overflow: visible;
    background: var(--classic-surface);
    box-shadow: 0 0 42px rgba(55, 40, 30, .11);
}
.menu-display-classic_thumbnail_list .menu-topbar {
    position: sticky;
    z-index: 70;
    top: 0;
    height: 58px;
    padding: 8px 18px;
    border-bottom: 1px solid var(--classic-line);
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(14px);
}
.menu-display-classic_thumbnail_list .menu-top-group { gap: 8px; }
.menu-display-classic_thumbnail_list .menu-icon-action {
    width: 36px;
    height: 36px;
    color: #28211e;
}
.menu-display-classic_thumbnail_list .menu-icon-action .icon { width: 24px; height: 24px; }
.menu-display-classic_thumbnail_list .order-type-trigger {
    min-height: 38px;
    padding: 4px 8px;
    gap: 7px;
    border-radius: 999px;
    font-size: 12.5px;
    white-space: nowrap;
}
.menu-display-classic_thumbnail_list .order-type-trigger:hover { background: #f8f4ef; }
.menu-display-classic_thumbnail_list .order-type-symbol {
    width: 31px;
    height: 31px;
    font-size: 18px;
}
.menu-display-classic_thumbnail_list .menu-language-trigger {
    min-height: 37px;
    padding: 5px 10px;
    border-color: #e5dfd8;
    border-radius: 11px;
    background: #fff;
}
.menu-display-classic_thumbnail_list .menu-cover {
    z-index: 1;
    height: 265px;
    margin: 14px 18px 0;
    overflow: hidden;
    border-radius: 18px;
    background: #f7efe4;
    box-shadow: 0 8px 24px rgba(68, 45, 30, .08);
}
.menu-display-classic_thumbnail_list .menu-cover-slide { object-fit: cover; }
.menu-display-classic_thumbnail_list .cover-arrow {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.6);
    background: rgba(47,36,30,.48);
    backdrop-filter: blur(8px);
}
.menu-display-classic_thumbnail_list .cover-dots {
    bottom: 15px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(38,28,22,.32);
}
.menu-display-classic_thumbnail_list .cover-dots button { width: 7px; height: 7px; }
.menu-display-classic_thumbnail_list .cover-dots button.active { width: 25px; }
.menu-display-classic_thumbnail_list .cover-progress { display: none; }
.menu-display-classic_thumbnail_list .menu-identity {
    z-index: 3;
    min-height: 112px;
    padding: 24px 20px 18px;
    padding-inline-start: 132px;
    padding-inline-end: 110px;
    border-bottom: 1px solid var(--classic-line);
    background: #fff;
}
.menu-display-classic_thumbnail_list .menu-logo {
    z-index: 6;
    right: 24px;
    top: -42px;
    width: 100px;
    height: 100px;
    border: 5px solid #fff;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(58, 36, 24, .18);
}
.menu-display-classic_thumbnail_list .menu-identity h1 {
    color: var(--brand);
    font-size: 24px;
    line-height: 1.35;
}
.menu-display-classic_thumbnail_list .menu-identity p {
    margin-top: 5px;
    color: var(--classic-muted);
    font-size: 13px;
}
.menu-display-classic_thumbnail_list .open-pill {
    left: 20px;
    bottom: 24px;
    padding: 5px 11px;
    font-size: 10px;
}
.menu-display-classic_thumbnail_list .category-strip {
    z-index: 58;
    top: 58px;
    padding: 11px 17px;
    gap: 8px;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--classic-line);
    box-shadow: 0 6px 18px rgba(54, 38, 27, .04);
    scroll-padding-inline: 18px;
}
.menu-display-classic_thumbnail_list .category-pill {
    min-height: 38px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #4d433e;
    border: 1px solid #e9e3dc;
    border-radius: 999px;
    background: #faf8f5;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 2px 7px rgba(50,35,25,.035);
}
.menu-display-classic_thumbnail_list .category-pill-image { display: none !important; }
.menu-display-classic_thumbnail_list .category-pill-emoji {
    display: inline-grid;
    place-items: center;
    font-size: 15px;
    line-height: 1;
}
.menu-display-classic_thumbnail_list .category-pill.active,
.menu-display-classic_thumbnail_list .category-pill:hover {
    color: #fff;
    border-color: var(--brand);
    background: var(--brand);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--brand) 22%, transparent);
}
.menu-display-classic_thumbnail_list .category-pill-all {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}
.menu-display-classic_thumbnail_list .category-pill-all::before {
    content: "▦";
    font-size: 16px;
}
.menu-display-classic_thumbnail_list .menu-content {
    padding: 4px 18px 110px;
    background: #fff;
}
.menu-display-classic_thumbnail_list .menu-category {
    padding-top: 24px;
    scroll-margin-top: 116px;
}
.menu-display-classic_thumbnail_list .menu-category-title {
    margin: 0 0 5px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--classic-ink);
    font-size: 21px;
    font-weight: 900;
}
.menu-display-classic_thumbnail_list .menu-category-title-emoji { font-size: 21px; }
.menu-display-classic_thumbnail_list .menu-category > .muted {
    margin: 0 0 12px;
    color: var(--classic-muted);
    font-size: 12px;
}
.menu-display-classic_thumbnail_list .public-products {
    display: grid;
    gap: 10px;
}
.menu-display-classic_thumbnail_list .public-product {
    min-height: 136px;
    padding: 12px;
    grid-template-columns: minmax(0,1fr) 124px;
    gap: 16px;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--classic-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(61, 43, 31, .045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.menu-display-classic_thumbnail_list .public-product:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--brand) 32%, #e9e3dc);
    box-shadow: 0 12px 26px rgba(61, 43, 31, .09);
}
.menu-display-classic_thumbnail_list .public-product-info {
    display: flex;
    min-height: 108px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.menu-display-classic_thumbnail_list .product-badges {
    margin-bottom: 7px;
    gap: 5px;
}
.menu-display-classic_thumbnail_list .product-badges span {
    padding: 3px 8px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    font-size: 9px;
}
.menu-display-classic_thumbnail_list .public-product h3 {
    margin: 0 0 5px;
    color: #2e2621;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.45;
}
.menu-display-classic_thumbnail_list .public-product p {
    max-width: 520px;
    margin: 0 0 10px;
    color: #776d66;
    font-size: 11.5px;
    line-height: 1.7;
    -webkit-line-clamp: 2;
}
.menu-display-classic_thumbnail_list .public-price {
    margin-top: auto;
    gap: 8px;
    color: var(--brand);
    font-size: 14px;
}
.menu-display-classic_thumbnail_list .old-price { font-size: 10px; }
.menu-display-classic_thumbnail_list .save-price {
    padding: 2px 7px;
    border-radius: 999px;
    background: #eaf8f0;
    font-size: 9px;
}
.menu-display-classic_thumbnail_list .public-product-image {
    width: 124px;
    height: 112px;
    align-self: center;
}
.menu-display-classic_thumbnail_list .public-product-image img {
    width: 124px;
    height: 112px;
    object-fit: cover;
    border: 1px solid #eee7de;
    border-radius: 14px;
    background: var(--classic-soft);
}
.menu-display-classic_thumbnail_list .product-order-cta {
    position: absolute;
    right: 7px;
    bottom: 7px;
    min-height: 31px;
    padding: 4px 9px 4px 5px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--brand);
    box-shadow: 0 5px 14px rgba(35,24,18,.18);
}
.menu-display-classic_thumbnail_list .product-order-cta i {
    position: static;
    width: 22px;
    height: 22px;
    border: 0;
    background: rgba(255,255,255,.18);
    font-size: 16px;
}
.menu-display-classic_thumbnail_list .product-order-cta b {
    font-size: 9px;
    white-space: nowrap;
}
.menu-display-classic_thumbnail_list .menu-about {
    border-top: 1px solid var(--classic-line);
    background: #fbf9f6;
}
.menu-display-classic_thumbnail_list .platform-promo {
    border-color: #eadfce;
    background: #fff8ee;
}
.menu-display-classic_thumbnail_list .cart-fab {
    width: min(732px, calc(100% - 28px));
    border-radius: 14px;
}

/* Category index modal */
.menu-display-classic_thumbnail_list .category-index-sheet {
    z-index: 160;
    padding: 18px;
    place-items: center;
}
.menu-display-classic_thumbnail_list .category-index-sheet .menu-sheet-backdrop {
    background: rgba(33, 24, 19, .56);
    backdrop-filter: blur(5px);
}
.menu-display-classic_thumbnail_list .category-index-panel {
    width: min(660px, calc(100vw - 36px));
    max-height: min(82dvh, 760px);
    margin: auto;
    padding: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0,1fr);
    overflow: hidden;
    border: 1px solid #eadfd3;
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(45,31,22,.25);
    transform: translateY(20px) scale(.97);
}
.menu-display-classic_thumbnail_list .category-index-sheet.open .category-index-panel {
    transform: none;
}
.menu-display-classic_thumbnail_list .category-index-header {
    position: sticky;
    z-index: 3;
    top: 0;
    padding: 20px 22px 14px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #eee7df;
    background: #fff;
}
.menu-display-classic_thumbnail_list .category-index-header span {
    color: var(--brand);
    font-size: 10px;
    font-weight: 900;
}
.menu-display-classic_thumbnail_list .category-index-header h2 {
    margin: 3px 0;
    color: #2e251f;
    font-size: 24px;
}
.menu-display-classic_thumbnail_list .category-index-header p {
    margin: 0;
    color: #8b817a;
    font-size: 11px;
}
.menu-display-classic_thumbnail_list .category-index-close {
    width: 42px;
    height: 42px;
    border: 1px solid #e6ded6;
    border-radius: 50%;
    background: #faf7f3;
    font-size: 23px;
}
.menu-display-classic_thumbnail_list .category-index-search {
    position: sticky;
    z-index: 2;
    top: 0;
    margin: 14px 22px 10px;
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #e5ddd5;
    border-radius: 13px;
    background: #fbfaf8;
}
.menu-display-classic_thumbnail_list .category-index-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 12px;
}
.menu-display-classic_thumbnail_list .category-index-list {
    padding: 4px 22px 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    overflow-y: auto;
}
.menu-display-classic_thumbnail_list .category-index-row {
    min-height: 78px;
    padding: 9px;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto 15px;
    align-items: center;
    gap: 10px;
    color: #3e342e;
    border: 1px solid #eee6de;
    border-radius: 15px;
    background: #fff;
    transition: .18s ease;
}
.menu-display-classic_thumbnail_list .category-index-row:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--brand) 34%, #e8dfd6);
    box-shadow: 0 10px 22px rgba(62,43,30,.08);
}
.menu-display-classic_thumbnail_list .category-index-row-all {
    grid-column: 1 / -1;
    color: #fff;
    border-color: var(--brand);
    background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 78%, #3c2417));
}
.menu-display-classic_thumbnail_list .category-index-thumb {
    width: 58px;
    height: 58px;
    overflow: hidden;
    border-radius: 12px;
    background: #f4eee7;
}
.menu-display-classic_thumbnail_list .category-index-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.menu-display-classic_thumbnail_list .category-index-thumb-all {
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.16);
    font-size: 25px;
}
.menu-display-classic_thumbnail_list .category-index-copy { min-width: 0; }
.menu-display-classic_thumbnail_list .category-index-copy b {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}
.menu-display-classic_thumbnail_list .category-index-copy small {
    margin-top: 3px;
    display: -webkit-box;
    overflow: hidden;
    color: #8d827a;
    font-size: 9.5px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.menu-display-classic_thumbnail_list .category-index-row-all .category-index-copy small { color: rgba(255,255,255,.75); }
.menu-display-classic_thumbnail_list .category-index-count {
    min-width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: var(--brand);
    background: #f6efe7;
    font-size: 10px;
    font-weight: 900;
}
.menu-display-classic_thumbnail_list .category-index-row-all .category-index-count {
    color: #fff;
    background: rgba(255,255,255,.17);
}
.menu-display-classic_thumbnail_list .category-index-row > i { color: #a3978e; font-style: normal; }
.menu-display-classic_thumbnail_list .category-index-row-all > i { color: #fff; }
.menu-display-classic_thumbnail_list .category-index-empty {
    padding: 35px 20px;
    text-align: center;
    color: #8c8179;
}

/* Restaurant information modal */
.menu-display-classic_thumbnail_list .menu-reference-sheet {
    z-index: 155;
    padding: 18px;
    place-items: center;
}
.menu-display-classic_thumbnail_list .menu-reference-sheet .menu-sheet-backdrop {
    background: rgba(33, 24, 19, .56);
    backdrop-filter: blur(5px);
}
.menu-display-classic_thumbnail_list .menu-reference-panel {
    width: min(650px, calc(100vw - 36px));
    max-height: min(82dvh, 740px);
    margin: auto;
    padding: 0;
    overflow: auto;
    border: 1px solid #eadfd3;
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(45,31,22,.25);
    transform: translateY(20px) scale(.97);
}
.menu-display-classic_thumbnail_list .menu-reference-sheet.open .menu-reference-panel { transform: none; }
.menu-display-classic_thumbnail_list .menu-reference-header {
    position: sticky;
    z-index: 3;
    top: 0;
    padding: 18px 20px;
    border-bottom: 1px solid #eee7df;
    background: #fff;
}
.menu-display-classic_thumbnail_list .menu-reference-header h2 { font-size: 21px; }
.menu-display-classic_thumbnail_list .menu-reference-header button {
    width: 40px;
    height: 40px;
    border: 1px solid #e6ded6;
    background: #faf7f3;
}
.menu-display-classic_thumbnail_list .menu-reference-links {
    padding: 15px 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
}
.menu-display-classic_thumbnail_list .menu-reference-link {
    min-height: 52px;
    border: 1px solid #ece4dc;
    border-radius: 13px;
    background: #fff;
    font-size: 12px;
}
.menu-display-classic_thumbnail_list .menu-reference-detail {
    margin: 0 20px 16px;
    padding: 15px;
    border: 1px solid #ece4dc;
    border-radius: 14px;
    background: #fbf8f4;
}
.menu-display-classic_thumbnail_list .menu-reference-social {
    position: sticky;
    bottom: 0;
    padding: 13px 20px;
    background: rgba(255,255,255,.97);
    border-top: 1px solid #eee7df;
}

@media (max-width: 620px) {
    .menu-display-classic_thumbnail_list { font-size: 14px; }
    .menu-display-classic_thumbnail_list .menu-topbar {
        height: 54px;
        padding: 7px 10px;
    }
    .menu-display-classic_thumbnail_list .menu-icon-action { width: 33px; height: 33px; }
    .menu-display-classic_thumbnail_list .menu-icon-action .icon { width: 22px; height: 22px; }
    .menu-display-classic_thumbnail_list .order-type-trigger {
        max-width: 154px;
        padding-inline: 5px;
        font-size: 11px;
    }
    .menu-display-classic_thumbnail_list .order-type-trigger b {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .menu-display-classic_thumbnail_list .menu-cover {
        height: 205px;
        margin: 9px 9px 0;
        border-radius: 13px;
    }
    .menu-display-classic_thumbnail_list .cover-arrow { display: none; }
    .menu-display-classic_thumbnail_list .menu-identity {
        min-height: 94px;
        padding: 18px 12px 13px;
        padding-inline-start: 92px;
        padding-inline-end: 78px;
    }
    .menu-display-classic_thumbnail_list .menu-logo {
        right: 13px;
        top: -32px;
        width: 72px;
        height: 72px;
        border-width: 4px;
        border-radius: 16px;
    }
    .menu-display-classic_thumbnail_list .menu-identity h1 { font-size: 19px; }
    .menu-display-classic_thumbnail_list .menu-identity p {
        max-width: 210px;
        font-size: 10.5px;
    }
    .menu-display-classic_thumbnail_list .open-pill {
        left: 11px;
        bottom: 16px;
        font-size: 8px;
    }
    .menu-display-classic_thumbnail_list .category-strip {
        top: 54px;
        padding: 8px 9px;
        gap: 6px;
    }
    .menu-display-classic_thumbnail_list .category-pill {
        min-height: 34px;
        padding: 6px 10px;
        gap: 5px;
        font-size: 10px;
    }
    .menu-display-classic_thumbnail_list .category-pill-emoji { font-size: 13px; }
    .menu-display-classic_thumbnail_list .menu-content { padding: 1px 9px 102px; }
    .menu-display-classic_thumbnail_list .menu-category {
        padding-top: 18px;
        scroll-margin-top: 105px;
    }
    .menu-display-classic_thumbnail_list .menu-category-title { font-size: 17px; }
    .menu-display-classic_thumbnail_list .menu-category > .muted {
        margin-bottom: 9px;
        font-size: 10px;
    }
    .menu-display-classic_thumbnail_list .public-products { gap: 7px; }
    .menu-display-classic_thumbnail_list .public-product {
        min-height: 108px;
        padding: 9px;
        grid-template-columns: minmax(0,1fr) 90px;
        gap: 10px;
        border-radius: 13px;
    }
    .menu-display-classic_thumbnail_list .public-product-info { min-height: 88px; }
    .menu-display-classic_thumbnail_list .public-product h3 {
        margin-bottom: 3px;
        font-size: 13px;
    }
    .menu-display-classic_thumbnail_list .public-product p {
        margin-bottom: 6px;
        font-size: 9.5px;
        line-height: 1.55;
    }
    .menu-display-classic_thumbnail_list .public-price { font-size: 11px; }
    .menu-display-classic_thumbnail_list .public-product-image,
    .menu-display-classic_thumbnail_list .public-product-image img {
        width: 90px;
        height: 82px;
        border-radius: 10px;
    }
    .menu-display-classic_thumbnail_list .product-order-cta {
        right: 4px;
        bottom: 4px;
        min-width: 27px;
        min-height: 27px;
        padding: 2px;
        border-width: 2px;
    }
    .menu-display-classic_thumbnail_list .product-order-cta i {
        width: 21px;
        height: 21px;
    }
    .menu-display-classic_thumbnail_list .product-order-cta b { display: none; }
    .menu-display-classic_thumbnail_list .category-index-sheet,
    .menu-display-classic_thumbnail_list .menu-reference-sheet {
        padding: 0;
        place-items: end center;
    }
    .menu-display-classic_thumbnail_list .category-index-panel,
    .menu-display-classic_thumbnail_list .menu-reference-panel {
        width: 100%;
        max-height: min(88dvh, 780px);
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 23px 23px 0 0;
        transform: translateY(100%);
    }
    .menu-display-classic_thumbnail_list .category-index-header {
        padding: 17px 15px 12px;
    }
    .menu-display-classic_thumbnail_list .category-index-header h2 { font-size: 21px; }
    .menu-display-classic_thumbnail_list .category-index-search {
        margin: 11px 15px 8px;
        min-height: 44px;
    }
    .menu-display-classic_thumbnail_list .category-index-list {
        padding: 3px 15px max(22px, env(safe-area-inset-bottom));
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .menu-display-classic_thumbnail_list .category-index-row {
        min-height: 70px;
        grid-template-columns: 52px minmax(0,1fr) auto 12px;
    }
    .menu-display-classic_thumbnail_list .category-index-thumb {
        width: 52px;
        height: 52px;
    }
    .menu-display-classic_thumbnail_list .menu-reference-links {
        padding: 12px 15px;
        grid-template-columns: 1fr;
    }
    .menu-display-classic_thumbnail_list .menu-reference-detail { margin-inline: 15px; }
    .menu-display-classic_thumbnail_list .menu-reference-social {
        padding: 12px 15px max(14px, env(safe-area-inset-bottom));
    }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-classic_thumbnail_list .public-product,
    .menu-display-classic_thumbnail_list .category-index-row,
    .menu-display-classic_thumbnail_list .menu-cover-slide {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}
/* MENUFLOW_CLASSIC_THUMBNAIL_LIST_V1_END */

/* CLASSIC_CATEGORY_INDEX_VISIBILITY_FIX_V2_START */
body.menu-display-classic_thumbnail_list .category-index-sheet {
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
body.menu-display-classic_thumbnail_list .category-index-sheet .category-index-panel {
    opacity: 0;
    transform: translateY(20px) scale(.97);
    transition: transform .22s ease, opacity .18s ease;
}
body.menu-display-classic_thumbnail_list .category-index-sheet.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto !important;
    transition-delay: 0s;
}
body.menu-display-classic_thumbnail_list .category-index-sheet.open .category-index-panel {
    opacity: 1;
    transform: none;
}
@media (max-width: 820px) {
    body.menu-display-classic_thumbnail_list .category-index-sheet .category-index-panel {
        transform: translateY(100%);
    }
    body.menu-display-classic_thumbnail_list .category-index-sheet.open .category-index-panel {
        transform: none;
    }
}
/* CLASSIC_CATEGORY_INDEX_VISIBILITY_FIX_V2_END */

/* CLASSIC_MENU_INFO_VISIBILITY_FIX_V3_START */
body.menu-display-classic_thumbnail_list .menu-reference-sheet {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
body.menu-display-classic_thumbnail_list .menu-reference-sheet .menu-sheet-backdrop {
    opacity: 0 !important;
    pointer-events: none !important;
}
body.menu-display-classic_thumbnail_list .menu-reference-sheet .menu-reference-panel {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(20px) scale(.97) !important;
    transition: transform .22s ease, opacity .18s ease, visibility 0s linear .22s;
}
body.menu-display-classic_thumbnail_list .menu-reference-sheet.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s;
}
body.menu-display-classic_thumbnail_list .menu-reference-sheet.open .menu-sheet-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
}
body.menu-display-classic_thumbnail_list .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition-delay: 0s;
}
@media (max-width: 620px) {
    body.menu-display-classic_thumbnail_list .menu-reference-sheet .menu-reference-panel {
        transform: translateY(100%) !important;
    }
    body.menu-display-classic_thumbnail_list .menu-reference-sheet.open .menu-reference-panel {
        transform: none !important;
    }
}
/* CLASSIC_MENU_INFO_VISIBILITY_FIX_V3_END */

/* MENUFLOW_DARK_VISUAL_GRID_V1_START */
/* 8) Dark visual grid — image-led burger / street-food presentation. */
.menu-display-dark_visual_grid.menu-body {
    background: #171717;
}
.menu-display-dark_visual_grid .menu-shell {
    width: min(768px, 100%);
    color: #f7f7f5;
    background: #080808;
    box-shadow: 0 0 70px rgba(0, 0, 0, .42);
}
.menu-display-dark_visual_grid .menu-topbar {
    z-index: 84;
    min-height: 64px;
    color: #fff;
    border-color: #222;
    background: rgba(8, 8, 8, .96);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}
.menu-display-dark_visual_grid .menu-icon-action,
.menu-display-dark_visual_grid .order-type-trigger {
    color: #f4f4f4;
}
.menu-display-dark_visual_grid .menu-icon-action:hover,
.menu-display-dark_visual_grid .menu-icon-action:focus-visible,
.menu-display-dark_visual_grid .order-type-trigger:hover {
    color: var(--accent);
    background: #1c1c1c;
}
.menu-display-dark_visual_grid .order-type-trigger {
    min-height: 42px;
    padding: 7px 11px;
    border: 1px solid #292929;
    border-radius: 13px;
    background: #121212;
}
.menu-display-dark_visual_grid .order-type-symbol {
    color: #0a0a0a;
    background: var(--accent);
}
.menu-display-dark_visual_grid .menu-language-trigger {
    color: #fff;
    border-color: #2c2c2c;
    background: #141414;
}
.menu-display-dark_visual_grid .menu-language-dropdown {
    color: #eee;
    border-color: #2d2d2d;
    background: #111;
    box-shadow: 0 24px 70px rgba(0,0,0,.5);
}
.menu-display-dark_visual_grid .menu-language-dropdown a { color: #eee; }
.menu-display-dark_visual_grid .menu-language-dropdown a:hover,
.menu-display-dark_visual_grid .menu-language-dropdown a.active { background: #202020; }

.menu-display-dark_visual_grid .menu-cover {
    height: 350px;
    margin: 0 14px;
    overflow: hidden;
    border: 1px solid #242424;
    border-radius: 18px;
    background: #101010;
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
}
.menu-display-dark_visual_grid .menu-cover-slide { object-fit: cover; }
.menu-display-dark_visual_grid .cover-arrow {
    width: 46px;
    height: 46px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(5,5,5,.62);
    backdrop-filter: blur(9px);
}
.menu-display-dark_visual_grid .cover-arrow:hover { color: #0a0a0a; background: var(--accent); }
.menu-display-dark_visual_grid .cover-dots {
    left: 18px;
    bottom: 17px;
    padding: 6px 8px;
    border-radius: 999px;
    background: rgba(5,5,5,.62);
    backdrop-filter: blur(8px);
}
.menu-display-dark_visual_grid .cover-dots button {
    width: 8px;
    height: 8px;
    background: #b8b8b8;
}
.menu-display-dark_visual_grid .cover-dots button.active {
    width: 28px;
    border-radius: 999px;
    background: var(--accent);
}
.menu-display-dark_visual_grid .cover-progress { display: none; }

.menu-display-dark_visual_grid .menu-identity {
    min-height: 112px;
    padding: 22px 24px 18px;
    padding-inline-start: 122px;
    border-color: #1f1f1f;
    background: #080808;
}
.menu-display-dark_visual_grid .menu-logo {
    z-index: 12;
    top: -48px;
    right: 24px;
    width: 102px;
    height: 102px;
    border: 5px solid #090909;
    border-radius: 23px;
    background: #111;
    box-shadow: 0 16px 38px rgba(0,0,0,.55);
}
.menu-display-dark_visual_grid .menu-identity h1 {
    margin-bottom: 5px;
    color: var(--accent);
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.35px;
}
.menu-display-dark_visual_grid .menu-identity p {
    color: #a7aaa8;
    font-size: 12px;
}
.menu-display-dark_visual_grid .open-pill {
    left: 22px;
    bottom: 22px;
    color: #84f1bd;
    background: #123528;
    font-size: 10px;
}

.menu-display-dark_visual_grid .category-strip {
    z-index: 80;
    top: 64px;
    min-height: 124px;
    padding: 12px 14px 11px;
    align-items: flex-start;
    gap: 11px;
    border-color: #202020;
    background: rgba(8,8,8,.97);
    box-shadow: 0 12px 28px rgba(0,0,0,.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    scrollbar-width: none;
}
.menu-display-dark_visual_grid .category-strip::-webkit-scrollbar { display: none; }
.menu-display-dark_visual_grid .category-pill {
    width: 78px;
    min-width: 78px;
    min-height: 100px;
    padding: 0;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 7px;
    color: #f3f3f3;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
}
.menu-display-dark_visual_grid .category-pill-image {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 3px solid #242424;
    border-radius: 50%;
    background: #151515;
    box-shadow: 0 8px 20px rgba(0,0,0,.32);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.menu-display-dark_visual_grid .category-pill-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.menu-display-dark_visual_grid .category-pill-emoji { display: none; }
.menu-display-dark_visual_grid .category-pill-all-image {
    color: #fff;
    background: #242424;
    font-size: 26px;
}
.menu-display-dark_visual_grid .category-pill.active,
.menu-display-dark_visual_grid .category-pill:hover { color: var(--accent); }
.menu-display-dark_visual_grid .category-pill.active .category-pill-image,
.menu-display-dark_visual_grid .category-pill:hover .category-pill-image {
    border-color: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), 0 12px 28px rgba(0,0,0,.4);
}

.menu-display-dark_visual_grid .menu-content {
    padding: 4px 14px 112px;
    background: #080808;
}
.menu-display-dark_visual_grid .menu-category {
    padding-top: 27px;
    scroll-margin-top: 196px;
}
.menu-display-dark_visual_grid .menu-category-title {
    margin-bottom: 7px;
    padding-inline: 2px;
    color: #fff;
    font-size: 22px;
    font-weight: 950;
}
.menu-display-dark_visual_grid .menu-category-title-emoji { color: var(--accent); }
.menu-display-dark_visual_grid .menu-category > .muted {
    margin: 0 2px 15px;
    color: #939393;
    font-size: 11px;
    line-height: 1.7;
}
.menu-display-dark_visual_grid .public-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.menu-display-dark_visual_grid .public-product {
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    overflow: hidden;
    color: #fff;
    text-align: right;
    border: 1px solid #242424;
    border-radius: 16px;
    background: #101010;
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.menu-display-dark_visual_grid .public-product:hover {
    border-color: color-mix(in srgb, var(--accent) 55%, #242424);
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(0,0,0,.38);
}
.menu-display-dark_visual_grid .public-product-info {
    min-height: 122px;
    padding: 13px 14px 15px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.menu-display-dark_visual_grid .public-product h3 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.4;
}
.menu-display-dark_visual_grid .public-product p {
    min-height: 33px;
    margin: 0 0 11px;
    color: #9c9c9c;
    font-size: 10.5px;
    line-height: 1.6;
    -webkit-line-clamp: 2;
}
.menu-display-dark_visual_grid .public-price {
    margin-top: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    color: var(--accent);
    font-size: 13px;
    font-weight: 950;
}
.menu-display-dark_visual_grid .old-price { color: #6f6f6f; }
.menu-display-dark_visual_grid .save-price {
    padding: 3px 6px;
    color: #89efbd;
    border-radius: 999px;
    background: #15372a;
    font-size: 8.5px;
}
.menu-display-dark_visual_grid .product-badges {
    position: absolute;
    z-index: 5;
    top: 12px;
    right: 12px;
    margin: 0;
}
.menu-display-dark_visual_grid .product-badges span {
    color: #080808;
    background: var(--accent);
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.menu-display-dark_visual_grid .public-product-image,
.menu-display-dark_visual_grid .public-product-image img {
    width: 100%;
    height: 235px;
    align-self: stretch;
    border-radius: 0;
    background: #151515;
}
.menu-display-dark_visual_grid .public-product-image { overflow: hidden; }
.menu-display-dark_visual_grid .public-product-image img {
    object-fit: cover;
    transition: transform .36s ease;
}
.menu-display-dark_visual_grid .public-product:hover .public-product-image img { transform: scale(1.035); }
.menu-display-dark_visual_grid .product-order-cta {
    position: absolute;
    z-index: 6;
    right: 12px;
    bottom: 12px;
    min-height: 40px;
    padding: 5px 12px 5px 6px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #080808;
    border: 2px solid #080808;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 10px 25px rgba(0,0,0,.35);
}
.menu-display-dark_visual_grid .product-order-cta i {
    position: static;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    color: #080808;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    font-size: 20px;
    font-style: normal;
}
.menu-display-dark_visual_grid .product-order-cta b {
    display: inline;
    font-size: 10px;
    font-weight: 950;
}

.menu-display-dark_visual_grid .menu-about,
.menu-display-dark_visual_grid .review-section,
.menu-display-dark_visual_grid .platform-promo {
    color: #b8b8b8;
    border-color: #292929;
    background: #111;
}
.menu-display-dark_visual_grid .platform-credit { color: #656565; background: #080808; }
.menu-display-dark_visual_grid .cart-fab {
    width: min(740px, calc(100% - 28px));
    min-height: 60px;
    color: #080808;
    background: var(--accent);
    box-shadow: 0 18px 45px color-mix(in srgb, var(--accent) 25%, transparent);
}
.menu-display-dark_visual_grid .cart-count { color: #080808; background: #fff; }

/* Category index modal — deliberately closed until JS adds .open. */
body.menu-display-dark_visual_grid .category-index-sheet,
body.menu-display-dark_visual_grid .menu-reference-sheet {
    z-index: 340;
    padding: 22px;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
body.menu-display-dark_visual_grid .category-index-sheet.open,
body.menu-display-dark_visual_grid .menu-reference-sheet.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto !important;
    transition-delay: 0s;
}
body.menu-display-dark_visual_grid .category-index-sheet .menu-sheet-backdrop,
body.menu-display-dark_visual_grid .menu-reference-sheet .menu-sheet-backdrop {
    opacity: 0;
    background: rgba(0,0,0,.74);
    backdrop-filter: blur(8px);
}
body.menu-display-dark_visual_grid .category-index-sheet.open .menu-sheet-backdrop,
body.menu-display-dark_visual_grid .menu-reference-sheet.open .menu-sheet-backdrop { opacity: 1; }
.menu-display-dark_visual_grid .category-index-panel,
.menu-display-dark_visual_grid .menu-reference-panel {
    width: min(700px, calc(100vw - 42px));
    max-height: min(84dvh, 760px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    color: #f3f3f3;
    border: 1px solid #303030;
    border-radius: 24px;
    background: #101010;
    box-shadow: 0 34px 110px rgba(0,0,0,.6);
    transform: translateY(22px) scale(.97);
    transition: opacity .2s ease, transform .24s ease;
}
.menu-display-dark_visual_grid .category-index-sheet.open .category-index-panel,
.menu-display-dark_visual_grid .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none;
}
.menu-display-dark_visual_grid .category-index-header,
.menu-display-dark_visual_grid .menu-reference-header {
    z-index: 4;
    padding: 21px 22px 16px;
    position: sticky;
    top: 0;
    color: #fff;
    border-bottom: 1px solid #272727;
    background: rgba(16,16,16,.97);
}
.menu-display-dark_visual_grid .category-index-header span { color: var(--accent); }
.menu-display-dark_visual_grid .category-index-header p,
.menu-display-dark_visual_grid .category-index-copy small { color: #949494; }
.menu-display-dark_visual_grid .category-index-close,
.menu-display-dark_visual_grid .menu-reference-header button {
    color: #fff;
    background: #242424;
}
.menu-display-dark_visual_grid .category-index-search {
    z-index: 3;
    margin: 14px 20px 10px;
    position: sticky;
    top: 91px;
    color: #ddd;
    border-color: #333;
    background: #191919;
}
.menu-display-dark_visual_grid .category-index-search input { color: #fff; }
.menu-display-dark_visual_grid .category-index-list {
    padding: 4px 20px 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow-y: auto;
}
.menu-display-dark_visual_grid .category-index-row {
    min-height: 82px;
    color: #fff;
    border-color: #2c2c2c;
    background: #171717;
}
.menu-display-dark_visual_grid .category-index-row:hover { border-color: var(--accent); background: #1e1e1e; }
.menu-display-dark_visual_grid .category-index-row-all {
    color: #090909;
    border-color: var(--accent);
    background: var(--accent);
}
.menu-display-dark_visual_grid .category-index-thumb { border-radius: 50%; background: #222; }
.menu-display-dark_visual_grid .category-index-count { color: #090909; background: var(--accent); }
.menu-display-dark_visual_grid .category-index-row-all .category-index-count { color: var(--accent); background: #090909; }
.menu-display-dark_visual_grid .category-index-empty { color: #aaa; }

.menu-display-dark_visual_grid .menu-reference-links {
    padding: 15px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    overflow-y: auto;
}
.menu-display-dark_visual_grid .menu-reference-link {
    min-height: 60px;
    color: #eee;
    border-color: #2c2c2c;
    background: #171717;
}
.menu-display-dark_visual_grid .menu-reference-link:hover,
.menu-display-dark_visual_grid .menu-reference-link.active { border-color: var(--accent); background: #202020; }
.menu-display-dark_visual_grid .menu-reference-icon { color: #090909; background: var(--accent); }
.menu-display-dark_visual_grid .menu-reference-detail {
    margin: 0 20px 15px;
    color: #ddd;
    border-color: #2d2d2d;
    background: #171717;
}
.menu-display-dark_visual_grid .public-hours div { border-color: #2c2c2c; }
.menu-display-dark_visual_grid .menu-reference-social {
    z-index: 5;
    position: sticky;
    bottom: 0;
    border-top: 1px solid #282828;
    background: #080808;
}
.menu-display-dark_visual_grid .menu-reference-social a,
.menu-display-dark_visual_grid .menu-reference-social button { color: #fff; }

.menu-display-dark_visual_grid .drawer-panel,
.menu-display-dark_visual_grid .cart-drawer-panel {
    color: #f3f3f3;
    border-color: #26302d;
    background: #0f1513;
}
.menu-display-dark_visual_grid .cart-line,
.menu-display-dark_visual_grid .cart-summary-card,
.menu-display-dark_visual_grid .checkout-section {
    border-color: #2b3935;
    background: #141d1a;
}
.menu-display-dark_visual_grid .input,
.menu-display-dark_visual_grid .select,
.menu-display-dark_visual_grid .textarea {
    color: #fff;
    border-color: #33423e;
    background: #0b100f;
}
.menu-display-dark_visual_grid .cart-confirm-bar { background: rgba(15,21,19,.97); }

@media (max-width: 620px) {
    .menu-display-dark_visual_grid .menu-shell { width: 100%; }
    .menu-display-dark_visual_grid .menu-topbar { min-height: 56px; }
    .menu-display-dark_visual_grid .menu-cover {
        height: 245px;
        margin: 0 8px;
        border-radius: 14px;
    }
    .menu-display-dark_visual_grid .cover-arrow { display: none; }
    .menu-display-dark_visual_grid .cover-dots { left: 12px; bottom: 11px; }
    .menu-display-dark_visual_grid .menu-identity {
        min-height: 96px;
        padding: 18px 12px 14px;
        padding-inline-start: 94px;
        padding-inline-end: 72px;
    }
    .menu-display-dark_visual_grid .menu-logo {
        top: -35px;
        right: 12px;
        width: 78px;
        height: 78px;
        border-width: 4px;
        border-radius: 18px;
    }
    .menu-display-dark_visual_grid .menu-identity h1 { font-size: 19px; }
    .menu-display-dark_visual_grid .menu-identity p { font-size: 10px; }
    .menu-display-dark_visual_grid .open-pill { left: 10px; bottom: 16px; font-size: 8px; }
    .menu-display-dark_visual_grid .category-strip {
        top: 56px;
        min-height: 104px;
        padding: 9px 8px 8px;
        gap: 8px;
    }
    .menu-display-dark_visual_grid .category-pill {
        width: 65px;
        min-width: 65px;
        min-height: 87px;
        gap: 5px;
        font-size: 8.5px;
    }
    .menu-display-dark_visual_grid .category-pill-image { width: 57px; height: 57px; border-width: 2px; }
    .menu-display-dark_visual_grid .category-pill-all-image { font-size: 22px; }
    .menu-display-dark_visual_grid .menu-content { padding: 2px 8px 102px; }
    .menu-display-dark_visual_grid .menu-category { padding-top: 20px; scroll-margin-top: 164px; }
    .menu-display-dark_visual_grid .menu-category-title { font-size: 18px; }
    .menu-display-dark_visual_grid .menu-category > .muted { margin-bottom: 10px; font-size: 9.5px; }
    .menu-display-dark_visual_grid .public-products { gap: 8px; }
    .menu-display-dark_visual_grid .public-product { border-radius: 11px; }
    .menu-display-dark_visual_grid .public-product-image,
    .menu-display-dark_visual_grid .public-product-image img { height: 164px; }
    .menu-display-dark_visual_grid .public-product-info { min-height: 105px; padding: 9px 9px 11px; }
    .menu-display-dark_visual_grid .public-product h3 { margin-bottom: 4px; font-size: 11.5px; }
    .menu-display-dark_visual_grid .public-product p { min-height: 28px; margin-bottom: 7px; font-size: 8px; line-height: 1.5; }
    .menu-display-dark_visual_grid .public-price { gap: 5px; font-size: 9.5px; }
    .menu-display-dark_visual_grid .save-price { font-size: 7px; }
    .menu-display-dark_visual_grid .product-badges { top: 7px; right: 7px; }
    .menu-display-dark_visual_grid .product-badges span { padding: 3px 6px; font-size: 7px; }
    .menu-display-dark_visual_grid .product-order-cta {
        right: 7px;
        bottom: 7px;
        min-width: 34px;
        min-height: 34px;
        padding: 3px;
    }
    .menu-display-dark_visual_grid .product-order-cta i { width: 26px; height: 26px; font-size: 18px; }
    .menu-display-dark_visual_grid .product-order-cta b { display: none; }
    .menu-display-dark_visual_grid .cart-fab { width: calc(100% - 18px); bottom: max(9px, env(safe-area-inset-bottom)); }

    body.menu-display-dark_visual_grid .category-index-sheet,
    body.menu-display-dark_visual_grid .menu-reference-sheet {
        padding: 0;
        place-items: end center;
    }
    .menu-display-dark_visual_grid .category-index-panel,
    .menu-display-dark_visual_grid .menu-reference-panel {
        width: 100%;
        max-height: min(90dvh, 820px);
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 24px 24px 0 0;
        transform: translateY(100%);
    }
    .menu-display-dark_visual_grid .category-index-sheet.open .category-index-panel,
    .menu-display-dark_visual_grid .menu-reference-sheet.open .menu-reference-panel { transform: none; }
    .menu-display-dark_visual_grid .category-index-header,
    .menu-display-dark_visual_grid .menu-reference-header { padding: 18px 15px 13px; }
    .menu-display-dark_visual_grid .category-index-search { margin-inline: 14px; top: 82px; }
    .menu-display-dark_visual_grid .category-index-list {
        padding: 3px 14px max(24px, env(safe-area-inset-bottom));
        grid-template-columns: 1fr;
    }
    .menu-display-dark_visual_grid .menu-reference-links {
        padding: 12px 14px;
        grid-template-columns: 1fr;
    }
    .menu-display-dark_visual_grid .menu-reference-detail { margin-inline: 14px; }
    .menu-display-dark_visual_grid .menu-reference-social { padding-bottom: max(13px, env(safe-area-inset-bottom)); }
}

@media (max-width: 360px) {
    .menu-display-dark_visual_grid .public-product-image,
    .menu-display-dark_visual_grid .public-product-image img { height: 145px; }
    .menu-display-dark_visual_grid .public-product h3 { font-size: 10.5px; }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-dark_visual_grid .public-product,
    .menu-display-dark_visual_grid .public-product-image img,
    .menu-display-dark_visual_grid .category-pill-image { transition-duration: .01ms !important; }
}
/* MENUFLOW_DARK_VISUAL_GRID_V1_END */
/* MENUFLOW_DARK_VISUAL_GRID_V2_UI_REFINE_START */
/* Refined slider pagination: compact track with an unmistakable active slide. */
.menu-display-dark_visual_grid .cover-dots {
    left: 50% !important;
    right: auto !important;
    bottom: 15px !important;
    min-height: 30px;
    padding: 6px 9px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px !important;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    background: rgba(2,5,7,.72) !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(12px) saturate(130%);
    -webkit-backdrop-filter: blur(12px) saturate(130%);
    transform: translateX(-50%) !important;
}
.menu-display-dark_visual_grid .cover-dots button {
    width: 24px !important;
    height: 5px !important;
    min-width: 24px;
    border: 0 !important;
    border-radius: 999px !important;
    opacity: 1 !important;
    background: rgba(255,255,255,.27) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: width .24s ease, background-color .24s ease, box-shadow .24s ease, transform .24s ease !important;
}
.menu-display-dark_visual_grid .cover-dots button:hover,
.menu-display-dark_visual_grid .cover-dots button:focus-visible {
    background: rgba(255,255,255,.58) !important;
    transform: translateY(-1px) !important;
}
.menu-display-dark_visual_grid .cover-dots button.active {
    width: 43px !important;
    background: var(--accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 58%, transparent) !important;
}

/* Category rail: calmer spacing and clearer active state. */
.menu-display-dark_visual_grid .category-strip {
    gap: 9px;
    padding-inline: 16px;
}
.menu-display-dark_visual_grid .category-pill {
    width: 75px;
    min-width: 75px;
}
.menu-display-dark_visual_grid .category-pill-image {
    border-color: #303030;
    background: linear-gradient(145deg, #1e1e1e, #101010);
}
.menu-display-dark_visual_grid .category-pill.active .category-pill-image {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px #080808, 0 0 0 5px color-mix(in srgb, var(--accent) 78%, transparent), 0 12px 28px rgba(0,0,0,.48);
}
.menu-display-dark_visual_grid .category-pill.active {
    color: #fff;
    text-shadow: 0 0 14px color-mix(in srgb, var(--accent) 48%, transparent);
}

/* Product cards: stronger hierarchy without adding visual noise. */
.menu-display-dark_visual_grid .public-product {
    border-color: #292929;
    background: linear-gradient(180deg, #111 0%, #0d0d0d 100%);
}
.menu-display-dark_visual_grid .public-product-info {
    min-height: 126px;
    padding: 14px 15px 16px;
}
.menu-display-dark_visual_grid .public-product h3 {
    font-size: 15.5px;
    letter-spacing: -.12px;
}
.menu-display-dark_visual_grid .public-product p {
    color: #aaa;
    font-size: 10.8px;
}
.menu-display-dark_visual_grid .public-price {
    font-size: 13.5px;
}
.menu-display-dark_visual_grid .product-order-cta {
    min-height: 42px;
    border-color: rgba(8,8,8,.9);
    box-shadow: 0 12px 28px rgba(0,0,0,.42), 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.menu-display-dark_visual_grid .product-order-cta:hover,
.menu-display-dark_visual_grid .product-order-cta:focus-visible {
    filter: brightness(1.07);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(0,0,0,.5), 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

/* Shared modal foundation for the dark visual template. */
body.menu-display-dark_visual_grid .category-index-sheet,
body.menu-display-dark_visual_grid .menu-reference-sheet {
    z-index: 420 !important;
    padding: 24px !important;
    place-items: center !important;
}
.menu-display-dark_visual_grid .category-index-panel,
.menu-display-dark_visual_grid .menu-reference-panel {
    width: min(720px, calc(100vw - 44px)) !important;
    max-height: min(86dvh, 780px) !important;
    display: flex !important;
    flex-direction: column;
    overflow: hidden !important;
    border: 1px solid #343434 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #121212 0%, #0d0d0d 100%) !important;
    box-shadow: 0 38px 120px rgba(0,0,0,.68), 0 0 0 1px rgba(255,255,255,.02) inset !important;
}
.menu-display-dark_visual_grid .category-index-header,
.menu-display-dark_visual_grid .menu-reference-header {
    min-height: 90px;
    padding: 20px 22px 16px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex: 0 0 auto;
    position: relative !important;
    top: auto !important;
    border-bottom: 1px solid #292929 !important;
    background: linear-gradient(180deg, #151515 0%, #111 100%) !important;
}
.menu-display-dark_visual_grid .category-index-header > div {
    min-width: 0;
    flex: 1;
}
.menu-display-dark_visual_grid .category-index-header span {
    display: block;
    margin-bottom: 4px;
    color: var(--accent) !important;
    font-size: 11px;
    font-weight: 800;
}
.menu-display-dark_visual_grid .category-index-header h2,
.menu-display-dark_visual_grid .menu-reference-header h2 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.25;
}
.menu-display-dark_visual_grid .category-index-header p {
    margin: 5px 0 0;
    color: #929292 !important;
    font-size: 11px;
}
.menu-display-dark_visual_grid .category-index-close,
.menu-display-dark_visual_grid .menu-reference-header button {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 13px !important;
    background: #202020 !important;
    font-size: 25px !important;
    line-height: 1;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.menu-display-dark_visual_grid .category-index-close:hover,
.menu-display-dark_visual_grid .menu-reference-header button:hover {
    border-color: var(--accent) !important;
    background: color-mix(in srgb, var(--accent) 20%, #202020) !important;
    transform: rotate(4deg);
}

/* Rebuilt "all categories" dialog. */
.menu-display-dark_visual_grid .category-index-search {
    z-index: 2;
    min-height: 54px;
    margin: 14px 20px 10px !important;
    padding: 0 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    position: relative !important;
    top: auto !important;
    color: #d8d8d8;
    border: 1px solid #353535 !important;
    border-radius: 14px;
    background: #191919 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.menu-display-dark_visual_grid .category-index-search:focus-within {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
}
.menu-display-dark_visual_grid .category-index-search input {
    min-width: 0;
    flex: 1;
    color: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    font-family: inherit;
    font-size: 13px;
}
.menu-display-dark_visual_grid .category-index-search input::placeholder { color: #7e7e7e; }
.menu-display-dark_visual_grid .category-index-list {
    min-height: 0;
    padding: 2px 20px 22px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    flex: 1 1 auto;
    overflow: auto !important;
    align-content: start;
    scrollbar-width: thin;
    scrollbar-color: #464646 transparent;
}
.menu-display-dark_visual_grid .category-index-list::-webkit-scrollbar { width: 6px; }
.menu-display-dark_visual_grid .category-index-list::-webkit-scrollbar-thumb { border-radius: 999px; background: #464646; }
.menu-display-dark_visual_grid .category-index-row {
    min-width: 0;
    min-height: 78px !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 34px 15px !important;
    align-items: center;
    gap: 10px !important;
    color: #f3f3f3 !important;
    border: 1px solid #2e2e2e !important;
    border-radius: 15px !important;
    background: #171717 !important;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.menu-display-dark_visual_grid .category-index-row:hover {
    color: #fff !important;
    border-color: color-mix(in srgb, var(--accent) 62%, #303030) !important;
    background: #1d1d1d !important;
    transform: translateY(-2px);
}
.menu-display-dark_visual_grid .category-index-row-all {
    grid-column: 1 / -1 !important;
    min-height: 72px !important;
    color: #080808 !important;
    border-color: var(--accent) !important;
    background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 72%, #ffb13b)) !important;
}
.menu-display-dark_visual_grid .category-index-row-all:hover {
    color: #080808 !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 92%, white), var(--accent)) !important;
}
.menu-display-dark_visual_grid .category-index-thumb {
    width: 58px !important;
    height: 58px !important;
    display: grid !important;
    place-items: center;
    overflow: hidden;
    border: 1px solid #323232;
    border-radius: 14px !important;
    background: #222 !important;
}
.menu-display-dark_visual_grid .category-index-thumb img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover !important;
}
.menu-display-dark_visual_grid .category-index-thumb-all {
    color: var(--accent);
    border-color: rgba(0,0,0,.12);
    background: #080808 !important;
    font-size: 23px;
}
.menu-display-dark_visual_grid .category-index-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.menu-display-dark_visual_grid .category-index-copy b {
    overflow: hidden;
    color: inherit;
    font-size: 13.5px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-display-dark_visual_grid .category-index-copy small {
    overflow: hidden;
    color: #929292 !important;
    font-size: 9.5px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-display-dark_visual_grid .category-index-row-all .category-index-copy small { color: rgba(0,0,0,.62) !important; }
.menu-display-dark_visual_grid .category-index-count {
    min-width: 32px !important;
    height: 32px !important;
    padding-inline: 7px;
    display: grid !important;
    place-items: center;
    color: #080808 !important;
    border-radius: 999px !important;
    background: var(--accent) !important;
    font-size: 10px;
    font-weight: 950;
}
.menu-display-dark_visual_grid .category-index-row-all .category-index-count {
    color: var(--accent) !important;
    background: #080808 !important;
}
.menu-display-dark_visual_grid .category-index-row > i {
    color: #777;
    font-size: 18px;
    font-style: normal;
}
.menu-display-dark_visual_grid .category-index-row-all > i { color: rgba(0,0,0,.72); }
.menu-display-dark_visual_grid .category-index-row[hidden],
.menu-display-dark_visual_grid .category-index-empty[hidden] { display: none !important; }
.menu-display-dark_visual_grid .category-index-empty {
    padding: 34px 20px;
    color: #999;
    text-align: center;
}
.menu-display-dark_visual_grid .category-index-empty strong { display: block; margin-top: 8px; color: #fff; font-size: 15px; }

/* Rebuilt restaurant-information dialog. */
.menu-display-dark_visual_grid .menu-reference-panel { overflow: hidden !important; }
.menu-display-dark_visual_grid .menu-reference-links {
    min-height: 0;
    padding: 14px 20px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    flex: 1 1 auto;
    align-content: start;
    overflow: auto !important;
    background: #0f0f0f;
    scrollbar-width: thin;
    scrollbar-color: #454545 transparent;
}
.menu-display-dark_visual_grid .menu-reference-link {
    min-height: 64px !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 16px !important;
    align-items: center;
    gap: 10px !important;
    color: #eee !important;
    border: 1px solid #303030 !important;
    border-radius: 14px !important;
    background: #181818 !important;
    font-size: 13px;
    font-weight: 800;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.menu-display-dark_visual_grid .menu-reference-link:hover,
.menu-display-dark_visual_grid .menu-reference-link.active {
    color: #fff !important;
    border-color: var(--accent) !important;
    background: #202020 !important;
    transform: translateY(-1px);
}
.menu-display-dark_visual_grid .menu-reference-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #080808 !important;
    border-radius: 11px;
    background: var(--accent) !important;
}
.menu-display-dark_visual_grid .menu-reference-link > i {
    color: #777;
    font-size: 18px;
    font-style: normal;
}
.menu-display-dark_visual_grid .menu-reference-link.active > i { color: var(--accent); }
.menu-display-dark_visual_grid .menu-reference-detail,
.menu-display-dark_visual_grid .menu-reference-detail.is-inline-detail {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 16px !important;
    color: #ddd !important;
    border: 1px solid #333 !important;
    border-radius: 14px !important;
    background: #151515 !important;
}
.menu-display-dark_visual_grid .menu-reference-detail h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 16px !important;
}
.menu-display-dark_visual_grid .menu-reference-detail p {
    color: #aaa;
    font-size: 12px !important;
    line-height: 1.85;
}
.menu-display-dark_visual_grid .public-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.menu-display-dark_visual_grid .public-hours div {
    min-height: 46px;
    padding: 8px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #ddd;
    border: 1px solid #303030 !important;
    border-radius: 10px;
    background: #1b1b1b;
    font-size: 11px;
}
.menu-display-dark_visual_grid .public-hours div b { color: var(--accent); font-size: 10.5px; }
.menu-display-dark_visual_grid .menu-reference-language-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.menu-display-dark_visual_grid .menu-reference-language-list a {
    min-height: 50px;
    padding: 8px 10px;
    color: #eee;
    border: 1px solid #303030;
    border-radius: 11px;
    background: #1b1b1b;
}
.menu-display-dark_visual_grid .menu-reference-language-list a.active { border-color: var(--accent); }
.menu-display-dark_visual_grid .menu-reference-social {
    min-height: 56px;
    padding: 8px 18px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex: 0 0 auto;
    position: relative !important;
    bottom: auto !important;
    border-top: 1px solid #2b2b2b !important;
    background: #090909 !important;
}
.menu-display-dark_visual_grid .menu-reference-social a,
.menu-display-dark_visual_grid .menu-reference-social button {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: #fff !important;
    border: 1px solid #2c2c2c;
    border-radius: 50%;
    background: #171717;
}
.menu-display-dark_visual_grid .menu-reference-social a:hover,
.menu-display-dark_visual_grid .menu-reference-social button:hover {
    color: #080808 !important;
    border-color: var(--accent);
    background: var(--accent);
}

/* Cart bar refinement. */
.menu-display-dark_visual_grid .cart-fab {
    min-height: 62px;
    padding-inline: 18px;
    border: 1px solid color-mix(in srgb, var(--accent) 70%, #080808);
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(0,0,0,.48), 0 0 28px color-mix(in srgb, var(--accent) 18%, transparent);
}
.menu-display-dark_visual_grid .cart-count {
    min-width: 36px;
    height: 36px;
    font-size: 12px;
    font-weight: 950;
}

@media (max-width: 620px) {
    .menu-display-dark_visual_grid .cover-dots {
        bottom: 11px !important;
        min-height: 26px;
        padding: 5px 7px !important;
        gap: 5px !important;
    }
    .menu-display-dark_visual_grid .cover-dots button {
        width: 18px !important;
        min-width: 18px;
        height: 4px !important;
    }
    .menu-display-dark_visual_grid .cover-dots button.active { width: 34px !important; }
    .menu-display-dark_visual_grid .category-strip { gap: 7px; padding-inline: 9px; }
    .menu-display-dark_visual_grid .category-pill { width: 63px; min-width: 63px; }

    body.menu-display-dark_visual_grid .category-index-sheet,
    body.menu-display-dark_visual_grid .menu-reference-sheet {
        padding: 0 !important;
        place-items: end center !important;
    }
    .menu-display-dark_visual_grid .category-index-panel,
    .menu-display-dark_visual_grid .menu-reference-panel {
        width: 100% !important;
        max-height: min(91dvh, 840px) !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-radius: 24px 24px 0 0 !important;
        transform: translateY(100%) !important;
    }
    .menu-display-dark_visual_grid .category-index-sheet.open .category-index-panel,
    .menu-display-dark_visual_grid .menu-reference-sheet.open .menu-reference-panel { transform: none !important; }
    .menu-display-dark_visual_grid .category-index-header,
    .menu-display-dark_visual_grid .menu-reference-header {
        min-height: 78px;
        padding: 16px 14px 13px !important;
    }
    .menu-display-dark_visual_grid .category-index-header h2,
    .menu-display-dark_visual_grid .menu-reference-header h2 { font-size: 21px; }
    .menu-display-dark_visual_grid .category-index-close,
    .menu-display-dark_visual_grid .menu-reference-header button {
        width: 39px !important;
        height: 39px !important;
        flex-basis: 39px;
    }
    .menu-display-dark_visual_grid .category-index-search {
        min-height: 49px;
        margin: 11px 13px 9px !important;
        padding-inline: 12px;
    }
    .menu-display-dark_visual_grid .category-index-list {
        padding: 1px 13px max(22px, env(safe-area-inset-bottom)) !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .menu-display-dark_visual_grid .category-index-row {
        min-height: 70px !important;
        grid-template-columns: 51px minmax(0, 1fr) 31px 14px !important;
        gap: 8px !important;
    }
    .menu-display-dark_visual_grid .category-index-row-all { min-height: 66px !important; }
    .menu-display-dark_visual_grid .category-index-thumb {
        width: 51px !important;
        height: 51px !important;
        border-radius: 12px !important;
    }
    .menu-display-dark_visual_grid .category-index-copy b { font-size: 13px; }
    .menu-display-dark_visual_grid .category-index-copy small { font-size: 9px; }

    .menu-display-dark_visual_grid .menu-reference-links {
        padding: 11px 13px !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .menu-display-dark_visual_grid .menu-reference-link { min-height: 58px !important; }
    .menu-display-dark_visual_grid .public-hours,
    .menu-display-dark_visual_grid .menu-reference-language-list { grid-template-columns: 1fr; }
    .menu-display-dark_visual_grid .menu-reference-detail,
    .menu-display-dark_visual_grid .menu-reference-detail.is-inline-detail { padding: 14px !important; }
    .menu-display-dark_visual_grid .menu-reference-social {
        min-height: 54px;
        padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
    }
    .menu-display-dark_visual_grid .public-product-info { min-height: 112px; }
    .menu-display-dark_visual_grid .public-product h3 { font-size: 11.8px; }
    .menu-display-dark_visual_grid .public-product p { font-size: 8.4px; }
    .menu-display-dark_visual_grid .cart-fab {
        min-height: 58px;
        border-radius: 14px;
    }
}

@media (max-width: 360px) {
    .menu-display-dark_visual_grid .category-index-header h2,
    .menu-display-dark_visual_grid .menu-reference-header h2 { font-size: 19px; }
    .menu-display-dark_visual_grid .category-index-row { grid-template-columns: 47px minmax(0, 1fr) 29px 12px !important; }
    .menu-display-dark_visual_grid .category-index-thumb { width: 47px !important; height: 47px !important; }
}
/* MENUFLOW_DARK_VISUAL_GRID_V2_UI_REFINE_END */


/* =========================================================
 * category_banner_catalog — full-width category banners
 * Patch 5/7: VE Lounge-inspired catalog.
 * ========================================================= */
.menu-display-category_banner_catalog.menu-body {
    margin: 0;
    min-height: 100vh;
    background: #ecebea;
    color: #171717;
}
.menu-display-category_banner_catalog .menu-shell {
    width: min(768px, 100%);
    max-width: 768px;
    min-height: 100vh;
    margin-inline: auto;
    background: #fff;
    box-shadow: 0 0 38px rgba(30, 24, 18, .09);
    overflow: clip;
}
.menu-display-category_banner_catalog .menu-topbar {
    position: sticky;
    top: 0;
    z-index: 90;
    min-height: 62px;
    padding: 8px 16px;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid #eee9e1;
    backdrop-filter: blur(16px);
}
.menu-display-category_banner_catalog .menu-top-group { gap: 7px; }
.menu-display-category_banner_catalog .menu-icon-action {
    width: 42px;
    height: 42px;
    border-radius: 14px;
}
.menu-display-category_banner_catalog .menu-icon-action:hover { background: #f6f3ee; }
.menu-display-category_banner_catalog .menu-icon-action .icon { width: 25px !important; height: 25px !important; }
.menu-display-category_banner_catalog .order-type-trigger,
.menu-display-category_banner_catalog .menu-language-trigger {
    min-height: 42px;
    border-color: #e8e1d5;
    background: #fff;
    border-radius: 14px;
}
.menu-display-category_banner_catalog .order-type-symbol {
    background: color-mix(in srgb, var(--brand) 12%, #fff);
    color: var(--brand);
}
.menu-display-category_banner_catalog .menu-cover {
    height: 342px;
    margin: 14px 16px 0;
    border-radius: 20px;
    background: #171c35;
    box-shadow: 0 12px 28px rgba(23, 28, 53, .12);
    overflow: hidden;
}
.menu-display-category_banner_catalog .menu-cover-slide { object-fit: cover; }
.menu-display-category_banner_catalog .cover-arrow {
    width: 43px;
    height: 43px;
    color: #fff;
    background: rgba(18,18,18,.42);
    border: 1px solid rgba(255,255,255,.24);
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease, background .2s ease;
}
.menu-display-category_banner_catalog .menu-cover:hover .cover-arrow { opacity: 1; }
.menu-display-category_banner_catalog .cover-arrow:hover { background: rgba(18,18,18,.68); transform: translateY(-1px); }
.menu-display-category_banner_catalog .cover-dots {
    inset-inline-start: 18px;
    inset-inline-end: auto;
    bottom: 15px;
    gap: 5px;
    padding: 6px 8px;
    border-radius: 999px;
    background: rgba(15,16,24,.42);
    backdrop-filter: blur(8px);
}
html[dir="ltr"] .menu-display-category_banner_catalog .cover-dots { right: 18px; left: auto; }
.menu-display-category_banner_catalog .cover-dots button {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    opacity: 1;
    transition: width .24s ease, background .24s ease;
}
.menu-display-category_banner_catalog .cover-dots button.active {
    width: 27px;
    background: #fff;
}
.menu-display-category_banner_catalog .cover-progress { display: none; }
.menu-display-category_banner_catalog .menu-identity {
    position: relative;
    min-height: 105px;
    padding: 20px 126px 18px 28px;
    border-bottom: 1px solid #eee8df;
    background: #fff;
}
html[dir="ltr"] .menu-display-category_banner_catalog .menu-identity { padding: 20px 28px 18px 126px; }
.menu-display-category_banner_catalog .menu-logo {
    position: absolute;
    z-index: 12;
    top: -48px;
    right: 26px;
    width: 98px;
    height: 98px;
    padding: 5px;
    border: 5px solid #fff;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 32px rgba(22,22,34,.2);
    object-fit: cover;
}
html[dir="ltr"] .menu-display-category_banner_catalog .menu-logo { right: auto; left: 26px; }
.menu-display-category_banner_catalog .menu-identity h1 {
    margin: 0 0 5px;
    color: var(--brand);
    font-size: 25px;
    font-weight: 800;
}
.menu-display-category_banner_catalog .menu-identity p {
    margin: 0;
    color: #77716a;
    font-size: 13px;
    line-height: 1.75;
}
.menu-display-category_banner_catalog .open-pill {
    position: absolute;
    left: 24px;
    bottom: 18px;
    border-radius: 999px;
}
html[dir="ltr"] .menu-display-category_banner_catalog .open-pill { right: 24px; left: auto; }
.menu-display-category_banner_catalog .menu-content {
    padding: 0 16px 26px;
    background: #fff;
}
.menu-display-category_banner_catalog .category-catalog-view {
    padding: 24px 0 8px;
}
.menu-display-category_banner_catalog .category-catalog-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 0 4px 16px;
}
.menu-display-category_banner_catalog .category-catalog-heading span {
    display: block;
    margin-bottom: 2px;
    color: var(--brand);
    font-size: 11px;
    font-weight: 700;
}
.menu-display-category_banner_catalog .category-catalog-heading h2 {
    margin: 0;
    font-size: 25px;
    font-weight: 800;
}
.menu-display-category_banner_catalog .category-catalog-heading > small {
    color: #8a847c;
    font-size: 11px;
    white-space: nowrap;
}
.menu-display-category_banner_catalog .category-banner-catalog-list {
    display: grid;
    gap: 13px;
}
.menu-display-category_banner_catalog .category-banner-catalog-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: 205px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 17px;
    background: #1c2340;
    color: #fff;
    text-align: start;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(22,22,28,.10);
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease;
}
.menu-display-category_banner_catalog .category-banner-catalog-card:hover,
.menu-display-category_banner_catalog .category-banner-catalog-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(22,22,28,.18);
    outline: none;
}
.menu-display-category_banner_catalog .category-banner-catalog-card > img {
    position: absolute;
    inset: 0;
    z-index: -3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.menu-display-category_banner_catalog .category-banner-catalog-card:hover > img { transform: scale(1.045); filter: saturate(1.06); }
.menu-display-category_banner_catalog .category-banner-catalog-shade {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(90deg, rgba(8,10,18,.78) 0%, rgba(8,10,18,.48) 46%, rgba(8,10,18,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.35), transparent 55%);
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-shade {
    background: linear-gradient(-90deg, rgba(8,10,18,.78) 0%, rgba(8,10,18,.48) 46%, rgba(8,10,18,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.35), transparent 55%);
}
.menu-display-category_banner_catalog .category-banner-catalog-copy {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 28px;
    width: min(48%, 350px);
    transform: translateY(-50%);
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-copy { right: auto; left: 28px; }
.menu-display-category_banner_catalog .category-banner-catalog-copy small {
    display: inline-flex;
    margin-bottom: 7px;
    padding: 5px 10px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-size: 10px;
    font-style: normal;
    backdrop-filter: blur(8px);
}
.menu-display-category_banner_catalog .category-banner-catalog-copy strong {
    display: block;
    font-size: 25px;
    line-height: 1.3;
    text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.menu-display-category_banner_catalog .category-banner-catalog-copy em {
    display: -webkit-box;
    margin-top: 8px;
    overflow: hidden;
    color: rgba(255,255,255,.84);
    font-size: 12px;
    font-style: normal;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.menu-display-category_banner_catalog .category-banner-catalog-card > i {
    position: absolute;
    z-index: 3;
    left: 18px;
    top: 50%;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    background: rgba(8,10,18,.38);
    color: #fff;
    font-size: 27px;
    font-style: normal;
    backdrop-filter: blur(8px);
    transition: transform .2s ease, background .2s ease;
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-card > i { left: auto; right: 18px; transform: translateY(-50%) scaleX(-1); }
.menu-display-category_banner_catalog .category-banner-catalog-card:hover > i { background: var(--brand); transform: translateY(-50%) translateX(-2px); }
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-card:hover > i { transform: translateY(-50%) translateX(2px) scaleX(-1); }
.menu-display-category_banner_catalog .category-catalog-panel {
    padding: 0 0 22px;
    animation: bannerCatalogPanelIn .3s ease both;
}
@keyframes bannerCatalogPanelIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.menu-display-category_banner_catalog .category-catalog-panel-bar {
    position: sticky;
    top: 62px;
    z-index: 70;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    margin: 0 -16px 15px;
    padding: 10px 18px;
    border-bottom: 1px solid #eae4db;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(15px);
    box-shadow: 0 7px 18px rgba(25,23,20,.05);
}
.menu-display-category_banner_catalog .category-catalog-back {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #ddd3c6;
    border-radius: 13px;
    background: #fff;
    color: var(--brand);
    font-size: 21px;
    cursor: pointer;
}
.menu-display-category_banner_catalog .category-catalog-back:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
html[dir="ltr"] .menu-display-category_banner_catalog .category-catalog-back { transform: scaleX(-1); }
.menu-display-category_banner_catalog .category-catalog-panel-bar small {
    display: block;
    color: #948c82;
    font-size: 10px;
}
.menu-display-category_banner_catalog .category-catalog-panel-bar strong {
    display: block;
    margin-top: 2px;
    font-size: 19px;
    line-height: 1.35;
}
.menu-display-category_banner_catalog .category-catalog-panel-bar > span {
    padding: 7px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand) 11%, #fff);
    color: var(--brand);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}
.menu-display-category_banner_catalog .category-catalog-panel > .muted {
    margin: 0 2px 15px;
    color: #77716a;
    font-size: 12px;
    line-height: 1.75;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 13px;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product {
    position: relative;
    display: grid;
    grid-template-rows: 220px minmax(142px,auto);
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e8e1d8;
    border-radius: 16px;
    background: #fff;
    color: inherit;
    text-align: start;
    cursor: pointer;
    box-shadow: 0 7px 17px rgba(28,25,22,.05);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--brand) 28%, #ddd);
    box-shadow: 0 14px 28px rgba(28,25,22,.11);
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product-image {
    grid-row: 1;
    position: relative;
    display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-bottom: 1px solid #eee7df;
    background: #f4f0ea;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product:hover .public-product-image > img { transform: scale(1.035); }
.menu-display-category_banner_catalog .category-catalog-panel .product-order-cta {
    position: absolute;
    right: 11px;
    bottom: 11px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 5px 11px 5px 6px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: var(--brand);
    box-shadow: 0 6px 17px rgba(20,18,16,.15);
    backdrop-filter: blur(8px);
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-catalog-panel .product-order-cta { right: auto; left: 11px; padding: 5px 6px 5px 11px; }
.menu-display-category_banner_catalog .category-catalog-panel .product-order-cta i {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    font-size: 20px;
    font-style: normal;
}
.menu-display-category_banner_catalog .category-catalog-panel .product-order-cta b { font-size: 10.5px; }
.menu-display-category_banner_catalog .category-catalog-panel .public-product-info {
    grid-row: 2;
    padding: 13px 14px 15px;
}
.menu-display-category_banner_catalog .category-catalog-panel .product-badges { margin-bottom: 7px; }
.menu-display-category_banner_catalog .category-catalog-panel .product-badges span { background: #f7eee4; color: #a55d2d; }
.menu-display-category_banner_catalog .category-catalog-panel .public-product h3 {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.45;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product p {
    display: -webkit-box;
    min-height: 39px;
    margin: 0 0 10px;
    overflow: hidden;
    color: #77716a;
    font-size: 10.5px;
    line-height: 1.85;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--brand);
    font-size: 14px;
    font-weight: 800;
}
.menu-display-category_banner_catalog .category-catalog-panel .old-price { color: #aaa29a; font-size: 11px; }
.menu-display-category_banner_catalog .category-catalog-panel .save-price { color: #2c9b66; font-size: 9.5px; }
.menu-display-category_banner_catalog .category-catalog-return {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    border: 1px solid #ddd3c6;
    border-radius: 13px;
    background: #faf7f2;
    color: var(--brand);
    font-size: 12px;
    cursor: pointer;
}
.menu-display-category_banner_catalog .category-catalog-return:hover { background: var(--brand); color: #fff; }
.menu-display-category_banner_catalog .menu-about {
    margin-top: 5px;
    padding: 28px 24px 84px;
    border-top: 1px solid #eee8df;
    background: #faf8f5;
}
.menu-display-category_banner_catalog .menu-reference-panel,
.menu-display-category_banner_catalog .category-index-panel {
    max-width: 680px;
    border-radius: 20px;
}
.menu-display-category_banner_catalog .cart-fab { bottom: 12px; }
.menu-display-category_banner_catalog [hidden] { display: none !important; }

@media (max-width: 620px) {
    .menu-display-category_banner_catalog .menu-topbar { min-height: 58px; padding: 7px 9px; }
    .menu-display-category_banner_catalog .menu-icon-action { width: 39px; height: 39px; }
    .menu-display-category_banner_catalog .order-type-trigger { max-width: 145px; }
    .menu-display-category_banner_catalog .menu-cover {
        height: 252px;
        margin: 10px 9px 0;
        border-radius: 15px;
    }
    .menu-display-category_banner_catalog .cover-arrow { display: none; }
    .menu-display-category_banner_catalog .cover-dots { bottom: 9px; inset-inline-start: 11px; }
    html[dir="ltr"] .menu-display-category_banner_catalog .cover-dots { right: 11px; left: auto; }
    .menu-display-category_banner_catalog .menu-identity {
        min-height: 91px;
        padding: 18px 98px 15px 15px;
    }
    html[dir="ltr"] .menu-display-category_banner_catalog .menu-identity { padding: 18px 15px 15px 98px; }
    .menu-display-category_banner_catalog .menu-logo {
        top: -36px;
        right: 13px;
        width: 78px;
        height: 78px;
        border-width: 4px;
        border-radius: 17px;
    }
    html[dir="ltr"] .menu-display-category_banner_catalog .menu-logo { right: auto; left: 13px; }
    .menu-display-category_banner_catalog .menu-identity h1 { font-size: 20px; }
    .menu-display-category_banner_catalog .menu-identity p { font-size: 11px; }
    .menu-display-category_banner_catalog .open-pill { left: 13px; bottom: 15px; font-size: 9px; }
    html[dir="ltr"] .menu-display-category_banner_catalog .open-pill { right: 13px; left: auto; }
    .menu-display-category_banner_catalog .menu-content { padding-inline: 9px; }
    .menu-display-category_banner_catalog .category-catalog-view { padding-top: 18px; }
    .menu-display-category_banner_catalog .category-catalog-heading { align-items: start; margin-bottom: 12px; }
    .menu-display-category_banner_catalog .category-catalog-heading h2 { font-size: 21px; }
    .menu-display-category_banner_catalog .category-catalog-heading > small { font-size: 9px; white-space: normal; text-align: end; }
    .menu-display-category_banner_catalog .category-banner-catalog-list { gap: 9px; }
    .menu-display-category_banner_catalog .category-banner-catalog-card { min-height: 154px; border-radius: 14px; }
    .menu-display-category_banner_catalog .category-banner-catalog-copy { right: 15px; width: 58%; }
    html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-copy { right: auto; left: 15px; }
    .menu-display-category_banner_catalog .category-banner-catalog-copy small { padding: 4px 8px; font-size: 8.5px; }
    .menu-display-category_banner_catalog .category-banner-catalog-copy strong { font-size: 18px; }
    .menu-display-category_banner_catalog .category-banner-catalog-copy em { margin-top: 5px; font-size: 9.5px; -webkit-line-clamp: 1; }
    .menu-display-category_banner_catalog .category-banner-catalog-card > i { left: 10px; width: 34px; height: 34px; font-size: 22px; }
    html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-card > i { left: auto; right: 10px; }
    .menu-display-category_banner_catalog .category-catalog-panel-bar {
        top: 58px;
        grid-template-columns: 39px minmax(0,1fr) auto;
        min-height: 64px;
        margin-inline: -9px;
        padding: 8px 10px;
    }
    .menu-display-category_banner_catalog .category-catalog-back { width: 36px; height: 36px; border-radius: 11px; }
    .menu-display-category_banner_catalog .category-catalog-panel-bar strong { font-size: 15px; }
    .menu-display-category_banner_catalog .category-catalog-panel-bar > span { padding: 5px 7px; font-size: 8.5px; }
    .menu-display-category_banner_catalog .category-catalog-panel > .muted { font-size: 10px; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-products { gap: 8px; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product {
        grid-template-rows: 145px minmax(128px,auto);
        border-radius: 13px;
    }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product-image { height: 145px; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product-info { padding: 9px 9px 11px; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product h3 { font-size: 12.5px; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product p { min-height: 32px; margin-bottom: 7px; font-size: 9px; line-height: 1.7; }
    .menu-display-category_banner_catalog .category-catalog-panel .public-price { gap: 4px; font-size: 12px; }
    .menu-display-category_banner_catalog .category-catalog-panel .old-price { font-size: 9px; }
    .menu-display-category_banner_catalog .category-catalog-panel .save-price { width: 100%; font-size: 8px; }
    .menu-display-category_banner_catalog .category-catalog-panel .product-order-cta {
        right: 7px;
        bottom: 7px;
        min-height: 31px;
        padding: 3px;
    }
    html[dir="ltr"] .menu-display-category_banner_catalog .category-catalog-panel .product-order-cta { right: auto; left: 7px; }
    .menu-display-category_banner_catalog .category-catalog-panel .product-order-cta i { width: 25px; height: 25px; font-size: 18px; }
    .menu-display-category_banner_catalog .category-catalog-panel .product-order-cta b { display: none; }
    .menu-display-category_banner_catalog .category-catalog-return { min-height: 45px; margin-top: 11px; }
    .menu-display-category_banner_catalog .menu-about { padding: 22px 14px 96px; }
}

@media (max-width: 365px) {
    .menu-display-category_banner_catalog .category-catalog-panel .public-product { grid-template-rows: 130px minmax(124px,auto); }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product-image { height: 130px; }
    .menu-display-category_banner_catalog .category-banner-catalog-card { min-height: 145px; }
    .menu-display-category_banner_catalog .category-banner-catalog-copy strong { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-category_banner_catalog .category-banner-catalog-card,
    .menu-display-category_banner_catalog .category-banner-catalog-card > img,
    .menu-display-category_banner_catalog .category-catalog-panel,
    .menu-display-category_banner_catalog .category-catalog-panel .public-product,
    .menu-display-category_banner_catalog .category-catalog-panel .public-product-image > img {
        animation: none !important;
        transition: none !important;
    }
}

/* MENUFLOW_CATEGORY_BANNER_CATALOG_V2_FINAL_START */
/* Final visual polish for VE Lounge / category banner catalog. */
body.menu-display-category_banner_catalog .menu-shell {
    overflow: visible;
}
.menu-display-category_banner_catalog .menu-cover {
    isolation: isolate;
}
.menu-display-category_banner_catalog .menu-cover-slide {
    object-position: center;
}
.menu-display-category_banner_catalog .cover-dots {
    inset-inline-start: 50%;
    inset-inline-end: auto;
    bottom: 13px;
    min-height: 28px;
    padding: 6px 9px;
    gap: 6px;
    transform: translateX(-50%);
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(13,16,25,.48);
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
html[dir="ltr"] .menu-display-category_banner_catalog .cover-dots {
    right: auto;
    left: 50%;
}
.menu-display-category_banner_catalog .cover-dots button {
    width: 7px;
    height: 7px;
    border: 1px solid rgba(255,255,255,.78);
    background: rgba(255,255,255,.38);
}
.menu-display-category_banner_catalog .cover-dots button.active {
    width: 30px;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255,255,255,.12);
}
.menu-display-category_banner_catalog .menu-identity {
    overflow: visible;
}
.menu-display-category_banner_catalog .menu-logo {
    z-index: 45;
    box-shadow: 0 16px 38px rgba(16,18,28,.24);
}
.menu-display-category_banner_catalog .menu-language-switcher,
.menu-display-category_banner_catalog .menu-language-dropdown {
    z-index: 150;
}
.menu-display-category_banner_catalog .category-catalog-heading {
    align-items: center;
}
.menu-display-category_banner_catalog .category-banner-catalog-list {
    gap: 12px;
}
.menu-display-category_banner_catalog .category-banner-catalog-card {
    min-height: 190px;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 10px 25px rgba(20,18,16,.12);
}
.menu-display-category_banner_catalog .category-banner-catalog-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.04), transparent 38%, rgba(0,0,0,.18));
}
.menu-display-category_banner_catalog .category-banner-catalog-card > img {
    object-position: center;
    filter: saturate(.94) contrast(1.03);
}
.menu-display-category_banner_catalog .category-banner-catalog-shade {
    background:
        linear-gradient(90deg, rgba(7,8,15,.88) 0%, rgba(7,8,15,.68) 48%, rgba(7,8,15,.16) 82%),
        linear-gradient(0deg, rgba(0,0,0,.38), transparent 58%);
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-shade {
    background:
        linear-gradient(-90deg, rgba(7,8,15,.88) 0%, rgba(7,8,15,.68) 48%, rgba(7,8,15,.16) 82%),
        linear-gradient(0deg, rgba(0,0,0,.38), transparent 58%);
}
.menu-display-category_banner_catalog .category-banner-catalog-copy {
    right: 30px;
    width: min(57%, 410px);
}
html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-copy {
    right: auto;
    left: 30px;
}
.menu-display-category_banner_catalog .category-banner-catalog-copy small {
    margin-bottom: 9px;
    padding: 5px 11px;
    background: rgba(255,255,255,.16);
    font-size: 10.5px;
    font-weight: 800;
}
.menu-display-category_banner_catalog .category-banner-catalog-copy strong {
    font-size: 27px;
    letter-spacing: -.25px;
}
.menu-display-category_banner_catalog .category-banner-catalog-copy em {
    max-width: 430px;
    margin-top: 7px;
    font-size: 12.5px;
    line-height: 1.7;
}
.menu-display-category_banner_catalog .category-banner-catalog-card > i {
    width: 44px;
    height: 44px;
    border-width: 1.5px;
    background: rgba(8,10,18,.54);
    box-shadow: 0 7px 20px rgba(0,0,0,.2);
}
.menu-display-category_banner_catalog .category-catalog-panel-bar {
    box-shadow: 0 9px 20px rgba(30,24,18,.07);
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product {
    border-color: #e8dfd3;
    box-shadow: 0 8px 20px rgba(35,28,22,.07);
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product-info {
    padding: 14px 15px 16px;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product h3 {
    font-size: 15.5px;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product p {
    font-size: 11px;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-price {
    font-size: 14.5px;
}
.menu-display-category_banner_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) {
    width: calc(50% - 7px);
    grid-column: 1 / -1;
    justify-self: center;
}
.menu-display-category_banner_catalog .menu-about {
    margin-top: 2px;
}

/* Compact information dialog instead of the tall full-page sheet. */
body.menu-display-category_banner_catalog .menu-reference-sheet {
    z-index: 260;
    display: grid;
    padding: 20px 12px;
    align-items: center;
    justify-items: center;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
}
body.menu-display-category_banner_catalog .menu-reference-sheet.open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}
.menu-display-category_banner_catalog .menu-reference-sheet .menu-sheet-backdrop {
    opacity: 0;
    background: rgba(26,24,22,.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: opacity .2s ease;
}
.menu-display-category_banner_catalog .menu-reference-sheet.open .menu-sheet-backdrop {
    opacity: 1;
}
.menu-display-category_banner_catalog .menu-reference-panel {
    width: min(680px, calc(100% - 24px));
    max-height: min(84dvh, 760px);
    margin: 0;
    padding: 0;
    overflow: hidden auto;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(27,22,18,.32);
    opacity: 0;
    transform: translateY(-10px) scale(.975) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
.menu-display-category_banner_catalog .menu-reference-sheet.open .menu-reference-panel {
    opacity: 1;
    transform: none !important;
}
.menu-display-category_banner_catalog .menu-reference-panel::-webkit-scrollbar {
    width: 6px;
}
.menu-display-category_banner_catalog .menu-reference-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #d4cbbb;
}
.menu-display-category_banner_catalog .menu-reference-header {
    position: sticky;
    z-index: 6;
    top: 0;
    min-height: 70px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #ece5da;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.menu-display-category_banner_catalog .menu-reference-header h2 {
    margin: 0;
    font-size: 22px;
}
.menu-display-category_banner_catalog .menu-reference-header button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #777068;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}
.menu-display-category_banner_catalog .menu-reference-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    padding: 12px;
    background: #fff;
}
.menu-display-category_banner_catalog .menu-reference-link {
    min-height: 56px;
    padding: 10px 13px;
    grid-template-columns: 26px minmax(0,1fr) 18px;
    gap: 9px;
    border: 1px solid #e8e1d7;
    border-radius: 13px;
    background: #fff;
    font-size: 14px;
    font-weight: 800;
}
.menu-display-category_banner_catalog .menu-reference-link:hover,
.menu-display-category_banner_catalog .menu-reference-link.active {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 38%, #e8e1d7);
    background: #faf7f1;
}
.menu-display-category_banner_catalog .menu-reference-icon,
.menu-display-category_banner_catalog .menu-reference-icon .icon {
    width: 23px !important;
    height: 23px !important;
}
.menu-display-category_banner_catalog .menu-reference-link > i {
    font-size: 20px;
    transition: transform .2s ease;
}
.menu-display-category_banner_catalog .menu-reference-link.active > i {
    transform: rotate(-90deg);
}
html[dir="ltr"] .menu-display-category_banner_catalog .menu-reference-link.active > i {
    transform: rotate(90deg);
}
.menu-display-category_banner_catalog .menu-reference-links > .menu-reference-detail {
    grid-column: 1 / -1;
}
.menu-display-category_banner_catalog .menu-reference-detail {
    margin: 0 12px 12px;
    padding: 18px 20px !important;
    border: 1px solid #e8e1d7;
    border-radius: 14px;
    background: #faf8f4;
}
.menu-display-category_banner_catalog .menu-reference-detail h3 {
    margin: 0 0 10px;
    font-size: 17px !important;
}
.menu-display-category_banner_catalog .menu-reference-detail p,
.menu-display-category_banner_catalog .menu-reference-detail .public-hours div {
    font-size: 13px !important;
    line-height: 1.75;
}
.menu-display-category_banner_catalog .menu-reference-detail .public-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px 16px;
}
.menu-display-category_banner_catalog .menu-reference-detail .public-hours div {
    min-height: 36px;
    padding: 7px 3px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px dashed #ddd4c7;
}
.menu-display-category_banner_catalog .menu-reference-language-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}
.menu-display-category_banner_catalog .menu-reference-language-list a {
    min-height: 46px;
    padding: 8px 10px;
    border: 1px solid #e8e1d7;
    border-radius: 11px;
    background: #fff;
}
.menu-display-category_banner_catalog .menu-reference-social {
    position: sticky;
    z-index: 6;
    bottom: 0;
    min-height: 54px;
    border-radius: 0 0 21px 21px;
    box-shadow: 0 -8px 22px rgba(0,0,0,.08);
}
.menu-display-category_banner_catalog .menu-reference-social a,
.menu-display-category_banner_catalog .menu-reference-social button {
    width: 32px;
    height: 32px;
}

@media (max-width: 620px) {
    .menu-display-category_banner_catalog .menu-cover {
        width: auto;
        height: auto;
        aspect-ratio: 1200 / 520;
        max-height: none;
        background: #11182b;
    }
    .menu-display-category_banner_catalog .menu-cover-slide {
        object-fit: contain;
        background: #11182b;
    }
    .menu-display-category_banner_catalog .cover-dots {
        bottom: 8px;
        inset-inline-start: 50%;
    }
    html[dir="ltr"] .menu-display-category_banner_catalog .cover-dots {
        right: auto;
        left: 50%;
    }
    .menu-display-category_banner_catalog .menu-identity {
        padding-top: 16px;
    }
    .menu-display-category_banner_catalog .category-catalog-heading {
        align-items: flex-end;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-card {
        min-height: 158px;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-copy {
        right: 16px;
        width: 64%;
    }
    html[dir="ltr"] .menu-display-category_banner_catalog .category-banner-catalog-copy {
        right: auto;
        left: 16px;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-copy strong {
        font-size: 18.5px;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-copy em {
        font-size: 10px;
        -webkit-line-clamp: 2;
    }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product:last-child:nth-child(odd) {
        width: 100%;
    }
    body.menu-display-category_banner_catalog .menu-reference-sheet {
        padding: 0;
        align-items: end;
    }
    .menu-display-category_banner_catalog .menu-reference-panel {
        width: 100%;
        max-height: 92dvh;
        border-radius: 22px 22px 0 0;
        transform: translateY(26px) !important;
    }
    .menu-display-category_banner_catalog .menu-reference-sheet.open .menu-reference-panel {
        transform: none !important;
    }
    .menu-display-category_banner_catalog .menu-reference-header {
        min-height: 64px;
        padding: 11px 13px;
    }
    .menu-display-category_banner_catalog .menu-reference-header h2 {
        font-size: 19px;
    }
    .menu-display-category_banner_catalog .menu-reference-header button {
        width: 39px;
        height: 39px;
    }
    .menu-display-category_banner_catalog .menu-reference-links {
        grid-template-columns: 1fr;
        padding: 9px;
        gap: 8px;
    }
    .menu-display-category_banner_catalog .menu-reference-link {
        min-height: 53px;
        font-size: 13px;
    }
    .menu-display-category_banner_catalog .menu-reference-detail {
        margin: 0 9px 9px;
        padding: 14px 15px !important;
    }
    .menu-display-category_banner_catalog .menu-reference-detail .public-hours,
    .menu-display-category_banner_catalog .menu-reference-language-list {
        grid-template-columns: 1fr;
    }
    .menu-display-category_banner_catalog .menu-reference-social {
        padding-bottom: max(9px, env(safe-area-inset-bottom));
        border-radius: 0;
    }
}

@media (max-width: 380px) {
    .menu-display-category_banner_catalog .category-banner-catalog-card {
        min-height: 148px;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-copy {
        width: 67%;
    }
    .menu-display-category_banner_catalog .category-banner-catalog-copy strong {
        font-size: 17px;
    }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product {
        grid-template-rows: 124px minmax(128px,auto);
    }
    .menu-display-category_banner_catalog .category-catalog-panel .public-product-image {
        height: 124px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .menu-display-category_banner_catalog .menu-reference-panel,
    .menu-display-category_banner_catalog .category-banner-catalog-card,
    .menu-display-category_banner_catalog .category-banner-catalog-card > img {
        transition-duration: .01ms !important;
    }
}
/* MENUFLOW_CATEGORY_BANNER_CATALOG_V2_FINAL_END */


/* Shared menu experience controls — patch 6/7 */
.experience-admin-card{border:1px solid #e4e8ec;border-radius:18px;padding:20px;margin:0 0 18px;background:linear-gradient(180deg,#fff,#fbfcfd)}
.experience-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.experience-admin-heading>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.experience-admin-heading span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f4f2;color:#116b60;font-weight:900}
.experience-admin-heading h3{margin:0;font-size:17px}.experience-admin-heading p{margin:3px 0 0;color:#718096;font-size:13px}
.experience-current-media{display:flex;align-items:center;gap:14px;margin:0 0 10px;padding:10px;border:1px solid #e3e8eb;border-radius:14px;background:#fff}
.experience-current-media img{width:150px;height:92px;object-fit:cover;border-radius:10px}.experience-current-media label{display:flex;align-items:center;gap:7px}
.experience-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.experience-toggle-option{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e2e7ea;border-radius:14px;background:#fff;cursor:pointer}
.experience-toggle-option input[type=checkbox]{margin-top:3px;accent-color:#0b766b}.experience-toggle-option span{display:grid;gap:3px}.experience-toggle-option small{color:#7c8891;font-size:12px}

.menu-announcement,.product-image-lightbox{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.menu-announcement.open,.product-image-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.menu-announcement-backdrop,.product-image-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(9,14,18,.72);backdrop-filter:blur(8px)}
.menu-announcement-card{position:relative;z-index:1;width:min(620px,100%);max-height:min(88vh,760px);overflow:auto;border-radius:26px;background:#fff;color:#101820;box-shadow:0 28px 90px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.22)}
.theme-dark .menu-announcement-card{background:#111817;color:#f8fafc;border-color:#2a3835}
.menu-announcement-close{position:absolute;z-index:4;top:14px;inset-inline-start:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(10,15,18,.72);color:#fff;font-size:25px;cursor:pointer}
.menu-announcement-media{aspect-ratio:16/9;overflow:hidden;background:#eef2f3}.menu-announcement-media img{width:100%;height:100%;object-fit:cover;display:block}
.menu-announcement-copy{padding:26px;display:grid;gap:12px;text-align:start}.menu-announcement-copy small{font-weight:800;color:var(--brand)}
.menu-announcement-copy h2{font-size:clamp(25px,4vw,38px);line-height:1.2;margin:0}.menu-announcement-copy p{font-size:16px;line-height:1.9;margin:0;color:#66747d}
.theme-dark .menu-announcement-copy p{color:#bac6c2}.menu-announcement-copy .btn{justify-self:start;min-width:170px}

.product-modal-media{position:relative}.product-modal-zoom{position:absolute;top:14px;inset-inline-end:14px;z-index:5;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(8,12,14,.68);color:#fff;font-size:24px;cursor:pointer;backdrop-filter:blur(7px)}
.product-image-lightbox-card{position:relative;z-index:1;width:min(1000px,96vw);height:min(88vh,820px);display:grid;place-items:center;padding:18px;border-radius:24px;background:#0b0e10;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.product-image-lightbox-card>button{position:absolute;z-index:2;top:14px;inset-inline-start:14px;width:44px;height:44px;border-radius:50%;border:1px solid #394047;background:#111820;color:#fff;font-size:26px;cursor:pointer}
.product-image-lightbox-card img{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px}
.menu-confetti-layer{position:fixed;inset:0;z-index:2450;overflow:hidden;pointer-events:none}.menu-confetti-layer i{position:absolute;top:-24px;border-radius:2px;animation:menuConfettiFall linear forwards;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.menu-confetti-layer.is-soft i{opacity:.72;filter:saturate(.7)}
@keyframes menuConfettiFall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:1}100%{transform:translate3d(var(--confetti-drift),108vh,0) rotate(var(--confetti-turn));opacity:.2}}

@media(max-width:760px){
  .experience-admin-heading{flex-direction:column}.experience-switch-grid{grid-template-columns:1fr}.experience-current-media{align-items:flex-start;flex-direction:column}.experience-current-media img{width:100%;height:150px}
  .menu-announcement{align-items:end;padding:0}.menu-announcement-card{width:100%;max-height:91vh;border-radius:26px 26px 0 0}.menu-announcement-copy{padding:22px}.menu-announcement-copy .btn{width:100%;justify-self:stretch}
  .product-image-lightbox{padding:10px}.product-image-lightbox-card{width:100%;height:88vh;border-radius:18px;padding:10px}
}
@media(prefers-reduced-motion:reduce){.menu-confetti-layer{display:none}.menu-announcement,.product-image-lightbox{transition:none}}

/* =============================================================
 * Menu Template Control Center V1
 * Template gallery, instant preview, slider controls and shared
 * runtime options for all nine public-menu templates.
 * ============================================================= */
.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.settings-section-heading .card-title{margin-bottom:4px}.settings-section-heading p{margin:0;color:#718096;font-size:13px}
.template-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 16px}
.template-picker-heading>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.template-picker-heading span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f4f2;color:#116b60;font-weight:900}
.template-picker-heading h3{margin:0;font-size:17px}.template-picker-heading p{margin:3px 0 0;color:#718096;font-size:13px}
.template-picker-heading>b{padding:7px 11px;border-radius:999px;background:#f1f5f7;color:#52616b;font-size:12px}
.template-picker-heading.compact{margin-top:0}
.menu-template-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.menu-template-card{position:relative;display:grid;grid-template-rows:126px auto;min-width:0;border:1px solid #dfe5e8;border-radius:17px;background:#fff;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.menu-template-card:hover{transform:translateY(-2px);border-color:#9dc9c2;box-shadow:0 12px 25px rgba(18,67,61,.09)}
.menu-template-card.selected{border-color:#118376;box-shadow:0 0 0 3px rgba(17,131,118,.12),0 14px 28px rgba(17,90,81,.12)}
.menu-template-card>input{position:absolute;opacity:0;pointer-events:none}
.template-selected-mark{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#118376;color:#fff;font-weight:900;opacity:0;transform:scale(.75);transition:.2s}
.menu-template-card.selected .template-selected-mark{opacity:1;transform:scale(1)}
.template-card-copy{display:grid;gap:4px;padding:12px 13px 14px}.template-card-copy>b{font-size:14px;color:#17212b}.template-card-copy>small{font-size:11px;line-height:1.65;color:#6d7883;min-height:36px}.template-card-copy>em{font-style:normal;font-size:10px;color:#118376;font-weight:800}
.template-miniature{position:relative;display:block;overflow:hidden;background:#f3f7f6;border-bottom:1px solid #e5e9eb;--mini-bg:#fff;--mini-fg:#17212b;--mini-accent:#16a394;--mini-card:#edf3f2}
.template-miniature i{position:absolute;display:block}.template-miniature .mini-top{inset:9px 9px auto;height:12px;border-radius:4px;background:var(--mini-fg);opacity:.12}.template-miniature .mini-cover{inset:27px 9px auto;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--mini-accent),color-mix(in srgb,var(--mini-accent),#fff 68%))}.template-miniature .mini-cats{top:73px;right:9px;width:62%;height:8px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--mini-card) 0 18px,transparent 18px 22px)}
.template-miniature .mini-item{top:88px;width:28%;height:27px;border-radius:6px;background:var(--mini-card)}.template-miniature .mini-item-a{right:9px}.template-miniature .mini-item-b{right:36%}.template-miniature .mini-item-c{left:9px}
.template-miniature-dark-grid,.template-miniature-dark-catalog,.template-miniature-dark-visual{--mini-bg:#080b0c;--mini-fg:#fff;--mini-card:#1b2325;background:var(--mini-bg)}
.template-miniature-dark-grid{--mini-accent:#f2a11f}.template-miniature-dark-catalog{--mini-accent:#14b8a6}.template-miniature-dark-visual{--mini-accent:#ff4d43}
.template-miniature-wide-list{--mini-accent:#12a9cc}.template-miniature-compact-list{--mini-accent:#176e62}.template-miniature-photo-categories{--mini-accent:#9a684a}.template-miniature-light-grid{--mini-accent:#f4b72d}.template-miniature-classic-list{--mini-accent:#a65a31}.template-miniature-banner-catalog{--mini-accent:#c7a24f}
.template-miniature-wide-list .mini-item,.template-miniature-compact-list .mini-item,.template-miniature-classic-list .mini-item{right:9px!important;left:9px!important;width:auto;height:9px}.template-miniature-wide-list .mini-item-b,.template-miniature-compact-list .mini-item-b,.template-miniature-classic-list .mini-item-b{top:101px}.template-miniature-wide-list .mini-item-c,.template-miniature-compact-list .mini-item-c,.template-miniature-classic-list .mini-item-c{display:none}
.template-miniature-dark-catalog .mini-item,.template-miniature-banner-catalog .mini-item,.template-miniature-photo-categories .mini-item{width:43%;height:28px}.template-miniature-dark-catalog .mini-item-a,.template-miniature-banner-catalog .mini-item-a,.template-miniature-photo-categories .mini-item-a{right:9px}.template-miniature-dark-catalog .mini-item-b,.template-miniature-banner-catalog .mini-item-b,.template-miniature-photo-categories .mini-item-b{left:9px;right:auto}.template-miniature-dark-catalog .mini-item-c,.template-miniature-banner-catalog .mini-item-c,.template-miniature-photo-categories .mini-item-c{display:none}
.menu-design-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;padding-top:20px;border-top:1px solid #edf0f2}
.menu-design-controls{min-width:0}.menu-slider-switches{margin-top:14px}.compact-toggle{min-height:64px!important}.compact-toggle span{align-self:center}.compact-toggle small{display:none}
.range-field{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:10px;align-items:center}.range-field input{accent-color:#118376}.range-field output{display:grid;place-items:center;height:38px;border:1px solid #d9e1e4;border-radius:10px;background:#f6f9f9;font-weight:800;color:#116b60}
.menu-live-preview{position:sticky;top:90px;border:1px solid #dce3e6;border-radius:24px;padding:10px;background:#eef3f2;box-shadow:0 18px 42px rgba(25,52,49,.13);--preview-brand:#116b60;--preview-accent:#f27c4a}
.live-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 10px;color:#50616a;font-size:10px}.live-preview-toolbar>span{display:flex;gap:4px}.live-preview-toolbar i{width:6px;height:6px;border-radius:50%;background:#b7c4c6}.live-preview-toolbar i:first-child{background:#f07167}.live-preview-toolbar b{font-size:11px}.live-preview-toolbar small{background:#fff;border-radius:999px;padding:3px 7px}
.live-preview-canvas{position:relative;overflow:hidden;min-height:525px;border-radius:18px;background:#fff;color:#13201f;box-shadow:0 9px 23px rgba(32,55,52,.11);transition:background .2s,color .2s}
.menu-live-preview[data-theme="dark"] .live-preview-canvas{background:#090d0e;color:#fff}
.live-preview-header{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(120,140,140,.15);font-size:10px}.live-preview-header b{font-size:11px}
.live-preview-cover{position:relative;height:150px;margin:8px;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-brand),#fff 78%),color-mix(in srgb,var(--preview-accent),#fff 70%));display:flex;align-items:center;padding:16px}.live-preview-cover>span{position:absolute;inset:auto -18px -35px auto;width:140px;height:140px;border-radius:50%;background:var(--preview-brand);opacity:.82}.live-preview-cover>strong{position:relative;z-index:1;max-width:52%;font-size:15px;line-height:1.5}.live-preview-cover>i{position:absolute;bottom:9px;left:50%;width:42px;height:4px;border-radius:999px;background:rgba(255,255,255,.65)}
.menu-live-preview.hide-slider-progress .live-preview-cover>i{display:none}.menu-live-preview.slider-paused .live-preview-cover>i{opacity:.25}.menu-live-preview.hide-slider-navigation .live-preview-cover:after{display:none}.live-preview-cover:after{content:'‹  ›';position:absolute;inset:50% 8px auto;transform:translateY(-50%);display:flex;justify-content:space-between;color:#fff;font-size:18px}
.live-preview-identity{display:flex;gap:9px;align-items:center;padding:2px 12px 10px}.live-preview-identity>span{width:43px;height:43px;border:3px solid #fff;border-radius:13px;background:#fff var(--preview-logo) center/contain no-repeat;box-shadow:0 5px 13px rgba(0,0,0,.13)}.live-preview-identity div{display:grid}.live-preview-identity b{font-size:13px}.live-preview-identity small{font-size:9px;color:#15a278}
.live-preview-categories{display:flex;gap:6px;overflow:hidden;padding:8px 11px;border-block:1px solid rgba(120,140,140,.13)}.live-preview-categories i{flex:0 0 42px;height:21px;border-radius:999px;background:color-mix(in srgb,var(--preview-brand),#fff 84%)}.live-preview-categories i:first-child{background:var(--preview-brand)}
.live-preview-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px}.live-preview-products article{overflow:hidden;border:1px solid rgba(120,140,140,.18);border-radius:11px;background:rgba(255,255,255,.7)}.menu-live-preview[data-theme="dark"] .live-preview-products article{background:#111819}.live-preview-products article>span{display:block;height:67px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-accent),#fff 65%),color-mix(in srgb,var(--preview-brand),#fff 70%))}.live-preview-products article>div{display:grid;gap:2px;padding:7px}.live-preview-products b{font-size:10px}.live-preview-products small{font-size:7px;opacity:.65}.live-preview-products em{font-style:normal;font-size:8px;color:var(--preview-brand);font-weight:900}
.menu-live-preview[data-density="compact"] .live-preview-products{gap:5px;padding:8px}.menu-live-preview[data-density="compact"] .live-preview-products article>span{height:53px}.menu-live-preview[data-density="spacious"] .live-preview-products{gap:12px;padding:14px}.menu-live-preview[data-density="spacious"] .live-preview-products article>span{height:82px}
.menu-live-preview[data-font="small"] .live-preview-canvas{font-size:91%}.menu-live-preview[data-font="large"] .live-preview-canvas{font-size:111%}
.menu-live-preview[data-columns="1"] .live-preview-products{grid-template-columns:1fr}.menu-live-preview[data-columns="1"] .live-preview-products article{display:grid;grid-template-columns:78px 1fr}.menu-live-preview[data-columns="1"] .live-preview-products article>span{height:72px}
.menu-live-preview[data-template="wide_list"] .live-preview-products,.menu-live-preview[data-template="compact_list"] .live-preview-products,.menu-live-preview[data-template="classic_thumbnail_list"] .live-preview-products{grid-template-columns:1fr}.menu-live-preview[data-template="wide_list"] .live-preview-products article,.menu-live-preview[data-template="compact_list"] .live-preview-products article,.menu-live-preview[data-template="classic_thumbnail_list"] .live-preview-products article{display:grid;grid-template-columns:72px 1fr}.menu-live-preview[data-template="wide_list"] .live-preview-products article>span,.menu-live-preview[data-template="compact_list"] .live-preview-products article>span,.menu-live-preview[data-template="classic_thumbnail_list"] .live-preview-products article>span{height:70px}
.menu-live-preview[data-template="dark_grid"] .live-preview-canvas,.menu-live-preview[data-template="category_catalog"] .live-preview-canvas,.menu-live-preview[data-template="dark_visual_grid"] .live-preview-canvas{background:#080b0c;color:#fff}.menu-live-preview[data-template="dark_visual_grid"] .live-preview-products article>span{height:95px}.menu-live-preview[data-template="category_banner_catalog"] .live-preview-products,.menu-live-preview[data-template="category_photo_grid"] .live-preview-products{grid-template-columns:1fr}.menu-live-preview[data-template="category_banner_catalog"] .live-preview-products article,.menu-live-preview[data-template="category_photo_grid"] .live-preview-products article{display:grid;grid-template-columns:1fr}.menu-live-preview[data-template="category_banner_catalog"] .live-preview-products article>span,.menu-live-preview[data-template="category_photo_grid"] .live-preview-products article>span{height:64px}
.menu-appearance-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.menu-appearance-actions small{color:#718096}
.cover-order-help{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.cover-order-help small{color:#718096}.cover-sortable-item{position:relative;cursor:grab}.cover-sortable-item.dragging{opacity:.45;transform:scale(.98)}.cover-drag-handle{position:absolute;top:7px;right:7px;z-index:2;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font-weight:900}

/* Shared runtime appearance controls for all public-menu templates. */
.menu-font-small .menu-identity h1{font-size:19px!important}.menu-font-normal .menu-identity h1{font-size:22px!important}.menu-font-large .menu-identity h1{font-size:26px!important}
.menu-font-small .menu-category>h2,.menu-font-small .category-panel-title h2{font-size:19px!important}.menu-font-normal .menu-category>h2,.menu-font-normal .category-panel-title h2{font-size:22px!important}.menu-font-large .menu-category>h2,.menu-font-large .category-panel-title h2{font-size:26px!important}
.menu-font-small .public-product h3,.menu-font-small .public-product strong{font-size:13px!important}.menu-font-large .public-product h3,.menu-font-large .public-product strong{font-size:17px!important}
.menu-font-small .public-product p{font-size:10px!important}.menu-font-large .public-product p{font-size:13px!important;line-height:1.8!important}.menu-font-large .price{font-size:16px!important}
.menu-density-compact .menu-category{padding-block:15px!important}.menu-density-compact .public-products{gap:9px!important}.menu-density-compact .public-product{padding:9px!important}.menu-density-compact .menu-footer{margin-top:18px!important}
.menu-density-spacious .menu-category{padding-block:30px!important}.menu-density-spacious .public-products{gap:19px!important}.menu-density-spacious .public-product{padding:16px!important}.menu-density-spacious .menu-footer{margin-top:42px!important}
.menu-columns-1:is(.menu-display-dark_grid,.menu-display-category_photo_grid,.menu-display-light_product_grid,.menu-display-dark_visual_grid,.menu-display-category_banner_catalog) .public-products,
.menu-columns-1:is(.menu-display-category_photo_grid,.menu-display-category_banner_catalog) .category-catalog-panel .public-products{grid-template-columns:1fr!important}
.menu-columns-2:is(.menu-display-dark_grid,.menu-display-category_photo_grid,.menu-display-light_product_grid,.menu-display-dark_visual_grid,.menu-display-category_banner_catalog) .public-products,
.menu-columns-2:is(.menu-display-category_photo_grid,.menu-display-category_banner_catalog) .category-catalog-panel .public-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.menu-category-shape-pills .category-pill,.menu-category-shape-pills .category-tab{border-radius:999px!important}
.menu-category-shape-circles .category-pill,.menu-category-shape-circles .category-tab{min-width:72px!important;min-height:72px!important;border-radius:50%!important;display:grid!important;place-items:center!important;padding:7px!important}
.menu-category-shape-list .menu-categories{display:grid!important;overflow:visible!important;gap:7px!important;padding:10px!important}.menu-category-shape-list .category-pill,.menu-category-shape-list .category-tab{width:100%!important;min-width:0!important;border-radius:10px!important;justify-content:flex-start!important}
.menu-category-shape-cards .category-pill,.menu-category-shape-cards .category-tab{border-radius:14px!important;min-height:54px!important;padding-inline:16px!important}
.menu-category-shape-banners .menu-categories{display:grid!important;overflow:visible!important;gap:8px!important}.menu-category-shape-banners .category-pill,.menu-category-shape-banners .category-tab{width:100%!important;min-height:64px!important;border-radius:14px!important;justify-content:flex-start!important;padding-inline:18px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand),#000 10%),var(--brand))!important;color:#fff!important}

@media(max-width:1100px){.menu-template-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-design-workspace{grid-template-columns:1fr}.menu-live-preview{position:relative;top:auto;max-width:390px;margin:auto;width:100%}}
@media(max-width:720px){.settings-section-heading{flex-direction:column}.menu-template-gallery{grid-template-columns:1fr}.menu-template-card{grid-template-columns:128px minmax(0,1fr);grid-template-rows:auto;min-height:118px}.template-miniature{min-height:118px;border-bottom:0;border-inline-end:1px solid #e5e9eb}.template-card-copy small{min-height:0}.menu-design-workspace{gap:16px}.menu-appearance-actions{align-items:stretch}.menu-appearance-actions .btn{width:100%}.cover-order-help{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.menu-template-card{grid-template-columns:105px minmax(0,1fr)}.template-card-copy{padding:10px}.live-preview-canvas{min-height:500px}.menu-columns-2:is(.menu-display-dark_grid,.menu-display-category_photo_grid,.menu-display-light_product_grid,.menu-display-dark_visual_grid,.menu-display-category_banner_catalog) .public-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* PLAN_SUBSCRIPTION_FOUNDATION_V1_START */
.system-plan-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.system-plan-admin-card{padding:20px;display:grid;gap:16px;border:1px solid #e5ebe8}.system-plan-admin-card.featured{border-color:var(--brand);box-shadow:0 12px 32px rgba(29,97,88,.1)}.system-plan-admin-head,.system-plan-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.system-plan-admin-head>div{flex:1}.system-plan-admin-head small{display:block;margin-bottom:5px;color:#7a8581}.system-plan-admin-head .input{font-size:18px;font-weight:800}.system-default-radio b{font-size:11px}.system-plan-switch-row{justify-content:flex-start;padding:11px 13px;border-radius:12px;background:#f7faf9}.system-plan-switch-row label{display:flex;align-items:center;gap:7px;font-weight:700}.system-plan-number-grid,.system-plan-limit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.system-plan-details{border:1px solid #e4ebe8;border-radius:14px;overflow:hidden}.system-plan-details summary{padding:13px 15px;cursor:pointer;font-weight:800;background:#f7faf9}.system-plan-details[open] summary{border-bottom:1px solid #e4ebe8}.system-plan-details>div{padding:14px}.system-plan-limit-grid label{display:grid;gap:6px;font-size:12px;font-weight:700}.system-plan-feature-grid,.system-plan-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.system-plan-feature-grid label,.system-plan-template-grid label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #e5ebe8;border-radius:12px;background:#fff}.system-plan-feature-grid span,.system-plan-template-grid span{display:grid;gap:2px}.system-plan-feature-grid small,.system-plan-template-grid small{color:#75807c;font-size:10px;line-height:1.6}.menu-template-card.plan-locked{opacity:.62;filter:grayscale(.35);cursor:not-allowed}.template-plan-lock{position:absolute;inset:auto 10px 10px auto;padding:5px 8px;border-radius:999px;background:#1f2926;color:#fff;font-size:10px;font-style:normal}.subscription-overview-card{padding:20px;margin-bottom:18px;display:grid;grid-template-columns:minmax(210px,.7fr) 1.3fr;gap:20px;align-items:center}.subscription-overview-card h2{margin:8px 0 4px}.subscription-overview-card p{margin:0;color:#6f7c78}.subscription-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subscription-usage-grid>div{padding:11px 12px;border:1px solid #e6ece9;border-radius:12px;background:#fafcfb}.subscription-usage-grid span{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.subscription-usage-grid small{color:#75807c}.subscription-usage-grid i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e9efed}.subscription-usage-grid em{display:block;height:100%;border-radius:inherit;background:var(--brand)}
@media(max-width:1050px){.system-plan-admin-grid{grid-template-columns:1fr}}@media(max-width:700px){.system-plan-number-grid,.system-plan-limit-grid,.system-plan-feature-grid,.system-plan-template-grid,.subscription-usage-grid{grid-template-columns:1fr}.subscription-overview-card{grid-template-columns:1fr}.system-plan-admin-head{align-items:flex-start}.system-plan-admin-card{padding:15px}}
/* PLAN_SUBSCRIPTION_FOUNDATION_V1_END */

/* Plan frontend integration V1 */
.landing-v2 .mf-plan-description {
    min-height: 34px;
    margin: 7px 0 0;
    color: #7b8783;
    font-size: 8px;
    line-height: 1.65;
    text-align: center;
}
.landing-v7 .mf-plan-description { min-height: 44px; font-size: 11px; line-height: 1.65; }

.auth-register-page .auth-card-wrap { align-items: start; overflow-y: auto; }
.auth-register-page .register-card { width: min(760px, 100%); }
.auth-visual-kicker {
    display: inline-flex;
    width: max-content;
    margin-bottom: 12px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-size: 11px;
}
.register-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.register-heading-row h2 { margin-bottom: 6px; }
.register-heading-row p { margin: 0; color: var(--muted); }
.register-back-pricing { flex: 0 0 auto; color: var(--brand); font-size: 12px; font-weight: 800; text-decoration: none; }
.register-plan-bridge {
    margin-bottom: 4px;
    padding: 18px;
    border: 1px solid #dce8e5;
    border-radius: 14px;
    background: linear-gradient(145deg, #f8fbfa, #fff);
}
.register-plan-bridge-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.register-plan-bridge-head > div:first-child { display: grid; gap: 3px; }
.register-plan-bridge-head > div:first-child span { color: var(--muted); font-size: 11px; }
.register-plan-bridge-head > div:first-child strong { font-size: 19px; color: var(--brand); }
.register-cycle-toggle { display: inline-flex; padding: 3px; border: 1px solid #dce5e2; border-radius: 10px; background: #fff; }
.register-cycle-toggle label { cursor: pointer; }
.register-cycle-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.register-cycle-toggle span { display: block; min-width: 72px; padding: 8px 12px; border-radius: 7px; color: #6f7d79; text-align: center; font-size: 11px; font-weight: 800; }
.register-cycle-toggle input:checked + span { color: #fff; background: var(--brand); box-shadow: 0 6px 16px rgba(7,89,79,.18); }
.register-plan-choice-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr); gap: 14px; align-items: stretch; }
.register-plan-summary { display: grid; align-content: center; gap: 7px; padding: 13px 15px; border-radius: 11px; background: #fff; box-shadow: inset 0 0 0 1px #e5ecea; }
.register-plan-summary > div { display: flex; align-items: baseline; gap: 5px; }
.register-plan-summary small { color: var(--muted); }
.register-plan-summary strong { color: var(--accent); font-size: 24px; direction: ltr; }
.register-plan-summary strong b { font-size: 12px; }
.register-plan-summary > div > span { color: var(--muted); font-size: 10px; }
.register-plan-summary p { margin: 0; color: #53625e; font-size: 11px; line-height: 1.6; }
.register-plan-summary em { color: var(--brand); font-size: 10px; font-style: normal; font-weight: 700; }

.package-source-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 16px 18px; }
.package-source-note p { margin: 5px 0 0; color: var(--muted); }
.plan-card .plan-description { min-height: 38px; margin: -2px 0 6px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.plan-card .plan-trial-note { margin: 0; color: var(--brand); font-size: 10px; font-weight: 800; }

.system-plan-sync-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.system-plan-front-status { display: inline-flex; margin-inline-start: auto; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.system-plan-front-status.is-visible { color: #0d6a50; background: #ddf3e9; }
.system-plan-front-status.is-hidden { color: #8a5a20; background: #fff1d7; }

@media (max-width: 760px) {
    .register-heading-row,
    .register-plan-bridge-head,
    .package-source-note { align-items: stretch; flex-direction: column; }
    .register-plan-choice-grid { grid-template-columns: 1fr; }
    .register-cycle-toggle { width: 100%; }
    .register-cycle-toggle label { flex: 1; }
    .register-cycle-toggle span { min-width: 0; }
    .system-plan-sync-actions { justify-content: flex-start; }
    .system-plan-front-status { width: 100%; margin-inline-start: 0; justify-content: center; }
}

/* PLAN_LIMIT_ENFORCEMENT_V1_START */
.plan-usage-meter{display:grid;gap:9px;padding:14px 16px;border:1px solid #dfe9e6;border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbfa)}
.page-plan-meter{margin-bottom:18px}.settings-plan-meter{margin:10px 0 18px}.plan-usage-meter.is-compact{padding:11px 12px;border-radius:12px;gap:7px}
.plan-usage-meter-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.plan-usage-meter-head>div{display:grid;gap:2px}.plan-usage-meter-head b{font-size:13px}.plan-usage-meter-head small{color:#78847f;font-size:10px}.plan-usage-meter-head strong{font-size:17px;color:var(--brand);direction:ltr}.plan-usage-meter-head strong span{font-size:11px;color:#77837f;font-weight:700}
.plan-usage-track{height:8px;overflow:hidden;border-radius:999px;background:#e8efed}.plan-usage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand),#fff 25%));transition:width .25s ease}
.plan-usage-meter.is-reached{border-color:#e9c989;background:#fffaf0}.plan-usage-meter.is-reached .plan-usage-track i{background:#d99a28}.plan-usage-meter.is-exceeded{border-color:#e4a4a4;background:#fff7f7}.plan-usage-meter.is-exceeded .plan-usage-track i{background:#c94c4c}
.plan-limit-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:3px;color:#73531e;font-size:10px;font-weight:700}.plan-limit-callout a{color:var(--brand);white-space:nowrap}.plan-usage-meter.is-exceeded .plan-limit-callout{color:#923c3c}
.plan-form-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.plan-form-heading .card-title{margin:0}.plan-form-heading>a{padding:6px 9px;border-radius:999px;background:#fff0d5;color:#8a5a15;font-size:10px;font-weight:800;text-decoration:none}.plan-form-locked fieldset{opacity:.55}.plan-form-locked fieldset:disabled{cursor:not-allowed}.plan-inline-fieldset{display:contents;border:0;padding:0;margin:0;min-width:0}
.subscription-status-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:14px 16px;border:1px solid;border-radius:14px}.subscription-status-banner>div{display:grid;gap:3px}.subscription-status-banner b{font-size:13px}.subscription-status-banner span{font-size:10px;line-height:1.7}.subscription-status-banner.is-warning{border-color:#eed59f;background:#fffaf0;color:#76521b}.subscription-status-banner.is-danger{border-color:#ecc0c0;background:#fff6f6;color:#8c3030}.subscription-status-banner.is-success{border-color:#b9dfd2;background:#f3fbf8;color:#12664f}
.side-link.plan-locked-link{opacity:.72}.side-link.plan-locked-link svg{filter:grayscale(1)}.nav-plan-lock{margin-inline-start:auto;padding:3px 6px;border-radius:999px;background:#fff0d7;color:#8b5c17;font-size:8px;font-weight:900}.side-link.plan-locked-link:hover{opacity:1;background:#fff9ee}
.subscription-usage-grid .plan-usage-meter{height:100%}.subscription-usage-grid .plan-limit-callout{display:none}
@media(max-width:700px){.subscription-status-banner,.plan-usage-meter-head,.plan-limit-callout,.plan-form-heading{align-items:stretch;flex-direction:column}.subscription-status-banner .btn{width:100%}.plan-usage-meter-head strong{align-self:flex-start}.plan-limit-callout a{white-space:normal}}
/* PLAN_LIMIT_ENFORCEMENT_V1_END */

/* Plan change requests and manual subscription approval — v1 */
.plan-request-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid #ead9ad;background:#fffaf0}.plan-request-alert.is-warning{border-color:#ead9ad;background:#fffaf0}.plan-request-alert-main{display:flex;align-items:flex-start;gap:13px}.plan-request-status-dot{width:12px;height:12px;border-radius:50%;background:#d29b2d;box-shadow:0 0 0 6px rgba(210,155,45,.13);margin-top:9px;flex:0 0 auto}.plan-request-alert small{color:#8f7747;font-weight:800}.plan-request-alert h2{margin:3px 0 4px;font-size:19px}.plan-request-alert p{margin:0;color:#71674e}.plan-request-alert-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.package-support-chip{padding:8px 12px;border-radius:999px;background:#eef7f4;color:var(--brand);font-weight:800;white-space:nowrap}.plan-card.has-pending-request{border-color:#d9b768;box-shadow:0 10px 28px rgba(176,132,37,.1)}.plan-request-history{margin-top:22px}.plan-request-history table{width:100%;border-collapse:collapse}.plan-request-history th,.plan-request-history td{padding:12px 10px;text-align:right;border-bottom:1px solid #e9eeec;vertical-align:top}.plan-request-history th{font-size:11px;color:#78817e;background:#f8faf9}.plan-request-history td{font-size:12px}.badge-neutral{color:#58615f;background:#eef1f0}

.subscription-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.subscription-checkout-main{display:grid;gap:18px}.subscription-checkout-side{display:grid;gap:14px;position:sticky;top:88px}.checkout-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.checkout-plan-heading h2{font-size:28px;margin:10px 0 6px}.checkout-plan-heading p{margin:0;color:#6c7874}.checkout-plan-price{text-align:left;display:grid;gap:3px}.checkout-plan-price strong{font-size:27px;color:var(--brand)}.checkout-plan-price small{color:#7d8783}.checkout-transition{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:18px;padding:14px;border:1px solid #e3ebe7;border-radius:14px;background:#fafcfb}.checkout-transition>div{display:grid;gap:3px}.checkout-transition small{color:#7e8985}.checkout-transition strong{font-size:15px}.checkout-transition>span{font-size:22px;color:var(--brand)}.checkout-safety-note{margin:14px 0 0;padding:10px 12px;border-radius:11px;background:#eef7f4;color:#285f57;font-weight:700}.payment-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-account-grid>div{display:grid;gap:3px;padding:12px;border:1px solid #e4ebe8;border-radius:12px;background:#fafcfb}.payment-account-grid small{color:#7a8581}.payment-account-grid strong{overflow-wrap:anywhere}.subscription-request-form{display:grid;gap:16px}.required-mark{display:inline-flex;padding:2px 7px;margin-inline-start:4px;border-radius:999px;background:#fff0e8;color:#b5572f;font-size:10px}.payment-proof-upload{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:16px;border:1px dashed #bfcfca;border-radius:14px;background:#fbfdfc;cursor:pointer}.payment-proof-upload input{position:absolute;opacity:0;pointer-events:none}.payment-proof-upload span{display:grid;gap:2px}.payment-proof-upload small{color:#7a8581}.payment-proof-upload b{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand);font-size:12px}.checkout-confirmation{display:flex;align-items:flex-start;gap:9px;padding:12px;border-radius:12px;background:#f7faf9;font-weight:700}.checkout-confirmation input{margin-top:3px}.checkout-side-card h3,.checkout-steps-card h3{margin:0 0 14px}.checkout-side-card dl{display:grid;gap:0;margin:0}.checkout-side-card dl>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #e8eeeb}.checkout-side-card dl>div:last-child{border-bottom:0}.checkout-side-card dt{color:#7b8582}.checkout-side-card dd{margin:0;font-weight:800}.checkout-steps-card ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}.checkout-steps-card li{display:flex;align-items:flex-start;gap:10px}.checkout-steps-card li b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;flex:0 0 auto}.checkout-steps-card li span{padding-top:3px;color:#59645f}.btn-lg{min-height:48px;font-size:14px}

.system-tab-count{min-width:21px;height:21px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:#f27c4a;color:#fff;font-size:10px;margin-inline-start:4px}.system-subscription-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.system-subscription-stat{padding:16px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;border:1px solid #e3ebe8}.system-subscription-stat span{font-weight:800}.system-subscription-stat strong{font-size:28px}.system-subscription-stat.is-warning{border-color:#ead9ad;background:#fffaf0}.system-subscription-stat.is-success{border-color:#cce7da;background:#f4fbf7}.system-subscription-stat.is-danger{border-color:#efd3d3;background:#fff8f8}.system-payment-settings-card,.system-subscription-requests-card{margin-top:18px}.system-payment-settings-form{display:grid;gap:15px;margin-top:16px}.system-payment-methods{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px;border:1px solid #e4ebe8;border-radius:12px;background:#fafcfb}.system-payment-methods label{display:flex;align-items:center;gap:6px;font-weight:700}.system-form-actions{display:flex;justify-content:flex-end}.system-subscription-filter{display:grid;grid-template-columns:190px minmax(220px,1fr) auto;gap:10px;margin:18px 0}.system-subscription-request-list{display:grid;gap:14px}.system-subscription-request-item{border:1px solid #e2e9e6;border-radius:16px;padding:17px;background:#fff}.system-subscription-request-item.is-warning{border-color:#e4cf98}.system-subscription-request-item.is-success{border-color:#c9e4d6}.system-subscription-request-item.is-danger{border-color:#eccfcf}.system-subscription-request-item>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.system-subscription-request-item h3{margin:7px 0 3px;font-size:17px}.system-subscription-request-item header p{margin:0;color:#75807c;font-size:11px}.system-request-amount{text-align:left;display:grid;gap:2px}.system-request-amount strong{font-size:22px;color:var(--brand)}.system-request-amount small{color:#7a8581}.system-request-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.system-request-facts>div{display:grid;gap:3px;padding:10px;border-radius:11px;background:#f7faf9;min-width:0}.system-request-facts small{color:#7b8582}.system-request-facts strong,.system-request-facts a{font-size:12px;overflow-wrap:anywhere}.system-request-note{margin-top:10px;padding:12px;border-radius:11px;background:#fffaf0}.system-request-note small{color:#8a7345}.system-request-note p{margin:4px 0 0}.system-request-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.system-request-review-grid form{display:grid;gap:8px;padding:12px;border:1px solid #e2e9e6;border-radius:12px;background:#fafcfb}.system-request-review-grid label{font-weight:800}.system-request-reviewed{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding:12px;border-radius:12px;background:#f7faf9}.system-request-reviewed>div{display:grid;gap:3px}.system-request-reviewed .full{grid-column:1/-1}.system-request-reviewed small{color:#7b8582}.system-empty-state{text-align:center;padding:32px;border:1px dashed #ccd8d4;border-radius:14px;background:#fafcfb}.system-empty-state strong{font-size:17px}.system-empty-state p{margin:5px 0 0;color:#7c8682}

@media(max-width:1100px){.subscription-checkout-grid{grid-template-columns:1fr}.subscription-checkout-side{position:static;grid-template-columns:1fr 1fr}.system-request-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.plan-request-alert{align-items:flex-start;flex-direction:column}.plan-request-alert-actions{width:100%}.subscription-checkout-side{grid-template-columns:1fr}.checkout-plan-heading{flex-direction:column}.checkout-plan-price{text-align:right}.payment-account-grid{grid-template-columns:1fr}.payment-proof-upload{grid-template-columns:1fr}.payment-proof-upload b{max-width:100%}.system-subscription-summary-grid{grid-template-columns:1fr 1fr}.system-subscription-filter{grid-template-columns:1fr}.system-subscription-request-item>header{flex-direction:column}.system-request-amount{text-align:right}.system-request-facts{grid-template-columns:1fr 1fr}.system-request-review-grid{grid-template-columns:1fr}.system-request-reviewed{grid-template-columns:1fr}.plan-request-history .responsive-table{overflow:auto}.plan-request-history table{min-width:760px}}
@media(max-width:480px){.system-subscription-summary-grid,.system-request-facts{grid-template-columns:1fr}.checkout-transition{grid-template-columns:1fr}.checkout-transition>span{transform:rotate(-90deg);justify-self:center}}

/* Restaurant Team Access V1 */
.team-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.team-stat-card{background:var(--surface,#fff);border:1px solid var(--border,#e8eceb);border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px rgba(24,55,51,.05)}.team-stat-card>span{width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand);display:grid;place-items:center}.team-stat-card div{display:grid;gap:3px}.team-stat-card small{color:var(--muted,#77827f);font-size:12px}.team-stat-card strong{font-size:25px;line-height:1}.team-create-card{margin-bottom:18px}.team-submit-field{justify-content:flex-end;align-self:end}.team-filter-card{margin-bottom:18px}.team-filter-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.team-filter-actions{display:flex;gap:8px;padding-bottom:1px}.team-table-card{overflow:visible}.team-table td{vertical-align:middle}.team-person-cell{display:flex;align-items:center;gap:12px;min-width:220px}.team-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,#fff),color-mix(in srgb,var(--accent) 13%,#fff));color:var(--brand);font-weight:900;font-size:18px;border:1px solid color-mix(in srgb,var(--brand) 16%,#fff)}.team-person-cell>div{display:grid;gap:2px}.team-person-cell small{font-size:11px;color:var(--muted,#78817f)}.team-role-name{display:block;font-weight:750;margin-bottom:5px}.team-row-actions{white-space:nowrap;position:relative}.team-edit-details{display:inline-block;position:relative}.team-edit-details>summary{list-style:none}.team-edit-details>summary::-webkit-details-marker{display:none}.team-edit-popover{position:absolute;left:0;top:calc(100% + 8px);width:min(580px,82vw);z-index:30;box-shadow:0 24px 70px rgba(19,45,42,.2);text-align:right}.team-edit-head{display:flex;justify-content:space-between;margin-bottom:16px}.team-edit-head div{display:grid;gap:3px}.team-edit-head small{color:var(--muted)}.team-empty{padding:50px 20px;display:grid;place-items:center;gap:6px;color:var(--muted)}.team-empty strong{color:var(--text);font-size:16px}.role-security-note{display:flex;gap:13px;align-items:flex-start;background:color-mix(in srgb,var(--brand) 6%,#fff);border:1px solid color-mix(in srgb,var(--brand) 18%,#fff);border-radius:17px;padding:16px 18px;margin-bottom:18px}.role-security-note>span{color:var(--brand)}.role-security-note div{display:grid;gap:4px}.role-security-note p{margin:0;color:var(--muted)}.role-create-card{margin-bottom:24px}.role-meta-grid{margin-bottom:18px}.role-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.role-permission-card{border:1px solid var(--border,#e5e9e8);border-radius:15px;padding:15px;background:#fbfcfc}.role-permission-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border,#e5e9e8)}.role-permission-title button{border:0;background:transparent;color:var(--brand);font:inherit;font-size:12px;cursor:pointer}.role-permission-list{display:grid;gap:8px;margin-top:11px}.role-list-head{display:flex;align-items:end;justify-content:space-between;margin:4px 0 14px}.role-list-head h2{margin:0 0 3px}.role-list-head p{margin:0;color:var(--muted)}.role-list-head>span{background:var(--surface,#fff);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-weight:700}.role-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-card{padding:18px}.role-card.is-locked{border-color:color-mix(in srgb,var(--brand) 24%,#fff)}.role-card-header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.role-card-header h3{margin:0 0 4px;font-size:17px}.role-card-header p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.role-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 9%,#fff);color:var(--brand)}.role-card-metrics{display:flex;gap:20px;padding:14px 0;margin-top:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}.role-card-metrics b{color:var(--text);font-size:16px}.role-permission-chips{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0}.role-permission-chips span{font-size:10px;background:#f2f5f4;border:1px solid #e6ebea;padding:5px 8px;border-radius:999px}.role-edit-details>summary{list-style:none}.role-edit-details>summary::-webkit-details-marker{display:none}.role-edit-form{margin-top:12px;border-top:1px solid var(--border);padding-top:14px;display:grid;gap:12px}.role-edit-group{border:1px solid var(--border);border-radius:13px;padding:12px}.role-edit-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.role-locked-message{display:flex;align-items:center;gap:7px;border-radius:12px;background:#f5f7f7;color:var(--muted);padding:11px;font-size:12px}.btn-block{width:100%;justify-content:center;margin-top:8px}
@media(max-width:1050px){.team-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-filter-form{grid-template-columns:1fr 1fr}.team-search-field{grid-column:1/-1}.role-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.team-stat-grid,.role-card-grid,.role-permission-grid{grid-template-columns:1fr}.team-filter-form{grid-template-columns:1fr}.team-filter-actions{display:grid;grid-template-columns:1fr 1fr}.team-submit-field .btn{width:100%;justify-content:center}.team-edit-popover{position:fixed;inset:70px 12px auto 12px;width:auto;max-height:75vh;overflow:auto}.role-card-header{grid-template-columns:auto 1fr}.role-card-header>.badge{grid-column:2}.role-edit-group>div{grid-template-columns:1fr}}


/* =========================================================
   Dashboard UI Design System Lock V1 — MenuFlow
   Reference: compact restaurant SaaS dashboard, refined for
   clearer hierarchy, keyboard use, RTL and mobile screens.
   ========================================================= */
:root{
    --sidebar:258px;
    --ui-canvas:#f7f8f8;
    --ui-surface:#ffffff;
    --ui-surface-soft:#fafbfb;
    --ui-border:#e7ebea;
    --ui-border-strong:#d8dfdd;
    --ui-text:#1b2422;
    --ui-muted:#76817e;
    --ui-radius-sm:9px;
    --ui-radius:13px;
    --ui-radius-lg:18px;
    --ui-shadow-sm:0 4px 16px rgba(22,52,48,.045);
    --ui-shadow:0 18px 48px rgba(22,52,48,.10);
    --ui-header-height:68px;
}
.admin-body{background:var(--ui-canvas);color:var(--ui-text)}
.admin-body::selection{background:color-mix(in srgb,var(--brand) 20%,transparent)}
.admin-sidebar{width:var(--sidebar);padding:18px 13px 14px;border-left-color:var(--ui-border);box-shadow:-1px 0 0 #fff;background:#fff;transition:width .24s ease,transform .24s ease}
.admin-sidebar .brand{min-height:46px;padding:0 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.brand-link{min-width:0}.brand-name{font-size:23px;letter-spacing:-1.2px}.brand-mark{width:13px;height:24px}
.sidebar-collapse-control{width:30px;height:30px;border:1px solid var(--ui-border);border-radius:9px;background:#fff;color:#7c8583;font-size:22px;line-height:1;display:grid;place-items:center;transition:.18s ease}
.sidebar-collapse-control:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 28%,var(--ui-border));background:var(--brand-soft)}
.side-nav{padding:4px 0 12px}.side-link{min-height:42px;margin:2px 0;padding:8px 10px;border-radius:9px;color:#596260;font-size:12.5px;gap:11px}
.side-link .icon{width:20px;height:20px;stroke-width:1.65}.side-link:hover{background:#f6f8f7;color:#1d2927;transform:translateX(-1px)}
.side-link.active{color:#16201e;background:#f0f3f2;font-weight:700}.side-link.active::before{content:"";position:absolute;right:-13px;top:9px;bottom:9px;width:3px;border-radius:0 8px 8px 0;background:var(--brand)}
.nav-badge,.nav-new,.nav-plan-lock{font-size:9px;line-height:1.5;box-shadow:none}.nav-plan-lock{padding:2px 7px;border-radius:999px;background:#fff5e9;color:#a76018;border:1px solid #f1d6b6}
.sidebar-account{margin-top:auto;padding:14px 6px 2px;border-top-color:var(--ui-border)}.sidebar-account img{width:39px;height:39px;border-radius:12px}.sidebar-account strong{font-size:12.5px}.sidebar-account small{font-size:10.5px}
.admin-shell{margin-right:var(--sidebar);transition:margin-right .24s ease}
.topbar{min-height:var(--ui-header-height);padding:10px 28px;gap:14px;background:rgba(255,255,255,.94);border-bottom-color:var(--ui-border);box-shadow:0 1px 0 rgba(18,45,41,.02)}
.topbar-leading,.topbar-actions{display:flex;align-items:center;gap:9px}.topbar-leading{min-width:max-content}.desktop-sidebar-toggle{display:none}
.visit-menu{min-height:38px;padding:7px 10px;border-radius:9px;font-size:12.5px;font-weight:650}.visit-menu:hover{background:#f3f6f5;color:var(--brand)}
.quick-search{width:min(380px,42vw);min-height:39px;margin-inline:auto;padding:7px 12px;border-color:var(--ui-border);border-radius:10px;background:#fbfcfc;font-size:12px;box-shadow:inset 0 1px 0 #fff}
.quick-search:hover{border-color:var(--ui-border-strong);background:#fff}.quick-search kbd{margin-inline-start:auto}
.icon-button{width:38px;height:38px;border-color:var(--ui-border);border-radius:10px;background:#fff}.icon-button:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 25%,var(--ui-border));background:var(--brand-soft)}
.sound-toggle{font-size:19px}.sound-toggle.is-muted{color:#a5adaa;background:#f7f8f8}.sound-toggle.is-muted span{opacity:.45;text-decoration:line-through}
.new-order-pill{min-height:38px;padding:7px 11px;display:inline-flex;align-items:center;gap:7px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:650;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 22%,transparent)}
.new-order-pill i{width:7px;height:7px;border-radius:50%;background:#8ff3c0;box-shadow:0 0 0 4px rgba(143,243,192,.14);animation:uiPulse 1.8s infinite}.new-order-pill b{font-size:12px}.new-order-pill:hover{transform:translateY(-1px)}
@keyframes uiPulse{50%{box-shadow:0 0 0 7px rgba(143,243,192,0)}}
.topbar-dropdown{position:relative}.topbar-dropdown>summary{list-style:none}.topbar-dropdown>summary::-webkit-details-marker{display:none}.topbar-dropdown[open]>summary{border-color:color-mix(in srgb,var(--brand) 30%,var(--ui-border));background:var(--brand-soft);color:var(--brand)}
.notification-dropdown summary>b{position:absolute;top:-5px;left:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:#fff;font-size:8px;border:2px solid #fff}.notification-dropdown .has-dot::after{display:none}
.topbar-dropdown-panel{position:absolute;z-index:90;top:calc(100% + 10px);left:0;width:330px;border:1px solid var(--ui-border);border-radius:14px;background:#fff;box-shadow:var(--ui-shadow);overflow:hidden;animation:uiDrop .16s ease-out}
@keyframes uiDrop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.notification-panel>header{padding:15px 16px 12px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--ui-border)}.notification-panel>header strong{font-size:14px}.notification-panel>header small{font-size:10px;color:var(--ui-muted)}
.notification-list{padding:6px}.notification-list>a{padding:10px;display:flex;align-items:flex-start;gap:10px;border-radius:10px}.notification-list>a:hover{background:#f7f9f8}.notification-list>a>span:last-child{display:grid;gap:2px}.notification-list strong{font-size:11.5px}.notification-list small{font-size:10px;color:var(--ui-muted)}
.notification-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--brand);background:var(--brand-soft)}.notification-icon.is-order{color:#a55620;background:#fff0e6}
.notification-empty{padding:24px 16px;display:grid;place-items:center;text-align:center;gap:3px}.notification-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--brand);background:var(--brand-soft);font-weight:900}.notification-empty strong{font-size:12px}.notification-empty small{font-size:10px;color:var(--ui-muted)}
.profile-chip{min-height:42px;padding:4px 7px 4px 5px;display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:11px;cursor:pointer}.profile-chip:hover{background:#f5f7f6}.profile-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--brand),color-mix(in srgb,var(--brand) 70%,#0e2925));font-size:13px;font-weight:800}.profile-copy{display:grid;min-width:92px}.profile-copy b{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.profile-copy small{font-size:9px;color:var(--ui-muted)}.profile-chevron{font-size:13px;color:#8a9491}
.profile-panel{width:220px;padding:6px}.profile-panel a,.profile-panel button{width:100%;padding:10px;display:flex;align-items:center;gap:9px;border:0;border-radius:9px;background:transparent;color:#3e4946;text-align:right;font-size:11.5px}.profile-panel a:hover,.profile-panel button:hover{background:#f4f7f6;color:var(--brand)}.profile-panel form{margin-top:5px;padding-top:5px;border-top:1px solid var(--ui-border)}
.page-wrap{width:min(1020px,calc(100% - 56px));padding:24px 0 56px}.page-wrap.page-wide{width:min(1180px,calc(100% - 56px))}.page-wrap.page-narrow{width:min(850px,calc(100% - 56px))}
.page-heading{min-height:74px;margin-bottom:18px;align-items:center}.page-heading h1{margin-top:5px;font-size:clamp(23px,2.5vw,29px);letter-spacing:-.65px}.page-heading p{max-width:720px;font-size:12.5px}.breadcrumb{font-size:10.5px;color:#929a98}.breadcrumb a{font-weight:600}.page-actions{align-items:center}
.card{border-color:var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm)}.card-pad{padding:20px}.card-header h2{font-size:15px;letter-spacing:-.15px}
.btn{min-height:40px;padding:8px 14px;border-radius:9px;font-size:12px;box-shadow:none}.btn:hover{box-shadow:0 7px 18px rgba(28,57,53,.08)}.btn-primary{background:var(--brand)}.btn-light{border-color:var(--ui-border)}
.input,.select,.textarea{min-height:43px;padding:9px 12px;border-color:var(--ui-border-strong);border-radius:9px;background:#fff;font-size:12px}.textarea{min-height:112px}.field label{font-size:12px}.field small,.hint{font-size:10.5px}.filters{padding:12px;border-color:var(--ui-border);border-radius:12px;box-shadow:var(--ui-shadow-sm)}
.alert{border-radius:11px}.admin-footer{min-height:66px;padding:18px 28px;font-size:10.5px}
.dashboard-command-bar{margin-bottom:15px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--ui-border);border-radius:13px;background:linear-gradient(135deg,#fff,#fbfcfc);box-shadow:var(--ui-shadow-sm)}
.dashboard-command-status{display:flex;align-items:center;gap:11px}.dashboard-command-status>div{display:grid;gap:2px}.dashboard-command-status strong{font-size:12px}.dashboard-command-status small{font-size:10.5px;color:var(--ui-muted)}.live-status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#b8bfbd;box-shadow:0 0 0 5px #eef1f0}.live-status-dot.is-live{background:#31ad75;box-shadow:0 0 0 5px #e5f7ef}.dashboard-quick-actions{display:flex;align-items:center;gap:6px}.dashboard-quick-actions a{min-height:34px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ui-border);border-radius:9px;background:#fff;color:#58625f;font-size:10.5px;font-weight:650}.dashboard-quick-actions a:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 26%,var(--ui-border));background:var(--brand-soft)}
.stat-grid{gap:13px}.stat-card{min-height:104px;padding:16px 17px;position:relative;overflow:hidden}.stat-card::after{content:"";position:absolute;left:-22px;bottom:-35px;width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--brand) 4%,transparent)}.stat-card .stat-icon{width:42px;height:42px;border-radius:12px}.stat-value{font-size:23px}.stat-label{font-size:10.5px}.growth{font-size:10px}.stat-card.is-orders .stat-icon{color:#a86128;background:#fff1e8}.stat-card.is-revenue .stat-icon{color:#556ac2;background:#eef1ff}
.chart-card{margin-top:13px;padding:18px}.line-chart{min-height:260px}.dashboard-columns{margin-top:13px;gap:13px}.dashboard-side-stack{gap:13px}.rank-row{min-height:48px;padding:7px 2px;border-bottom-color:#eff2f1}.rank-row img{width:37px;height:37px;border-radius:9px}.rank-info strong{font-size:11.5px}.rank-info small{font-size:9.5px}.visited-products-card{margin-top:13px}
.reference-search{height:46px;border-color:var(--ui-border);border-radius:11px;box-shadow:var(--ui-shadow-sm)}.reference-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
.category-filter{margin:12px 0 15px;padding-bottom:6px;scrollbar-width:thin}.category-filter a{font-size:10.5px;border-radius:999px}.list-caption{padding-inline:13px;color:#8b9492;font-size:9.5px}.admin-list{gap:8px}.admin-list-row{min-height:66px;border-color:var(--ui-border);border-radius:11px;box-shadow:0 2px 10px rgba(22,52,48,.025)}.admin-list-row:hover{border-color:#cbd5d2;box-shadow:0 8px 20px rgba(22,52,48,.06);transform:translateY(-1px)}.admin-list-main strong{font-size:12.5px}.admin-list-meta{font-size:10.5px}.row-actions>a,.row-actions button{border-radius:8px}.publish-switch{border-radius:999px}
.form-tabs{padding:4px;border:1px solid var(--ui-border);border-radius:12px;background:#fff;box-shadow:var(--ui-shadow-sm)}.form-tab{min-height:36px;padding:7px 12px;border-radius:8px;font-size:10.5px}.form-tab.active{background:var(--brand-soft);color:var(--brand);font-weight:750}
.form-panel>.card,.system-interface-card,.team-create-card,.team-filter-card{border-radius:15px}.upload-box>div{border-radius:13px;background:#fafcfc}.action-menu-panel{border-radius:12px;border-color:var(--ui-border);box-shadow:var(--ui-shadow)}
.empty-state{min-height:210px;padding:34px 20px;display:grid;place-items:center;align-content:center;text-align:center;gap:7px;background:linear-gradient(180deg,#fff,#fbfcfc)}.empty-state::before{content:"＋";width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--brand);background:var(--brand-soft);font-size:23px}.empty-state h3{margin:0;font-size:15px}.empty-state p{margin:0;color:var(--ui-muted);font-size:11px}
.system-interface-tabs{border-radius:12px;border-color:var(--ui-border);box-shadow:var(--ui-shadow-sm)}.system-interface-tabs a{border-radius:8px}.system-save-bar{border-radius:13px;box-shadow:0 -10px 28px rgba(24,55,51,.08)}
.ui-toast-stack{position:fixed;z-index:130;left:22px;bottom:22px;width:min(360px,calc(100vw - 30px));display:grid;gap:9px}.ui-toast{padding:12px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;border:1px solid var(--ui-border);border-radius:13px;background:#fff;box-shadow:var(--ui-shadow);animation:toastIn .25s ease}.ui-toast>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-weight:900}.ui-toast>div{display:grid;gap:1px}.ui-toast strong{font-size:11.5px}.ui-toast small{font-size:10px;color:var(--ui-muted)}.ui-toast>button{border:0;background:transparent;color:#9aa19f;font-size:18px}.ui-toast.is-danger>span{color:#b74c4c;background:#fff0f0}.ui-toast.is-hiding{opacity:0;transform:translateY(8px);transition:.2s ease}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.search-panel{border-radius:16px;box-shadow:var(--ui-shadow)}.search-results a{border-radius:9px}
body.sidebar-collapsed{--sidebar:82px}.sidebar-collapsed .admin-sidebar{padding-inline:11px}.sidebar-collapsed .brand{padding-inline:6px}.sidebar-collapsed .brand-name,.sidebar-collapsed .side-link>span,.sidebar-collapsed .side-link>b,.sidebar-collapsed .sidebar-account>div,.sidebar-collapsed .account-arrow{display:none}.sidebar-collapsed .brand-link{justify-content:center}.sidebar-collapsed .brand-mark{display:none}.sidebar-collapsed .sidebar-collapse-control{transform:rotate(180deg)}.sidebar-collapsed .side-link{justify-content:center;padding-inline:8px}.sidebar-collapsed .side-link.active::before{right:-11px}.sidebar-collapsed .sidebar-account{justify-content:center}.sidebar-collapsed .sidebar-account img{width:38px;height:38px}.sidebar-collapsed .side-link::after{content:attr(title);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 9px;border-radius:8px;background:#1b2926;color:#fff;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s}.sidebar-collapsed .side-link:hover::after{opacity:1}
@media(min-width:961px){.desktop-sidebar-toggle{display:none}}
@media(max-width:1180px){.profile-copy{display:none}.profile-chip{padding:4px}.new-order-pill span{display:none}.quick-search{width:min(320px,36vw)}}
@media(max-width:960px){body.sidebar-collapsed{--sidebar:258px}.admin-sidebar{width:258px}.sidebar-collapse-control{display:none}.topbar{padding-inline:16px}.quick-search{width:auto;flex:1}.profile-copy{display:none}.page-wrap,.page-wrap.page-wide,.page-wrap.page-narrow{width:min(100% - 30px,900px)}.admin-sidebar .side-link>span,.admin-sidebar .side-link>b,.admin-sidebar .sidebar-account>div,.admin-sidebar .account-arrow{display:block}.sidebar-collapsed .brand-name{display:inline}.sidebar-collapsed .brand-mark{display:inline-block}.sidebar-collapsed .side-link{justify-content:flex-start}.dashboard-command-bar{align-items:flex-start;flex-direction:column}.dashboard-quick-actions{width:100%;overflow:auto}.dashboard-quick-actions a{white-space:nowrap}}
@media(max-width:680px){.topbar{min-height:60px;padding:8px 10px;gap:7px}.visit-menu span,.quick-search span,.quick-search kbd,.sound-toggle{display:none}.quick-search{width:38px;flex:0 0 38px;padding:0;justify-content:center;margin-inline:0}.topbar-leading,.topbar-actions{gap:5px}.new-order-pill{padding-inline:8px}.new-order-pill b{display:none}.profile-avatar{width:30px;height:30px}.page-wrap,.page-wrap.page-wide,.page-wrap.page-narrow{width:calc(100% - 22px);padding-top:15px}.page-heading{min-height:auto;margin-bottom:14px;align-items:flex-start}.page-heading h1{font-size:22px}.page-actions{width:100%}.page-heading{flex-direction:column}.page-actions>.btn{flex:1}.topbar-dropdown-panel{position:fixed;top:68px;left:10px;right:10px;width:auto}.dashboard-command-bar{padding:12px}.dashboard-command-status small{line-height:1.6}.stat-grid.stats-three{grid-template-columns:1fr}.stat-card{min-height:92px}.chart-card{padding:13px}.line-chart{min-height:215px}.admin-list-row{border-radius:10px}.ui-toast-stack{left:11px;right:11px;bottom:11px;width:auto}.admin-footer{padding-inline:14px}.admin-footer>span:first-child{max-width:65%}}
@media(max-width:420px){.new-order-pill{display:none}.notification-dropdown summary>b{display:none}.dashboard-quick-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-quick-actions a:last-child{grid-column:1/-1}.topbar-actions{margin-inline-start:auto}}
@media(prefers-reduced-motion:reduce){.new-order-pill i,.ui-toast,.topbar-dropdown-panel{animation:none}.admin-sidebar,.admin-shell,.side-link,.admin-list-row{transition:none}}

/* =========================================================
   Dashboard UI Design System Lock V2 — Menux-inspired UX
   ========================================================= */
:root{
    --ui-v2-green:#075f55;
    --ui-v2-green-soft:#edf7f4;
    --ui-v2-orange:#ef7442;
    --ui-v2-text:#17201e;
    --ui-v2-muted:#74807d;
    --ui-v2-line:#e3e9e7;
    --ui-v2-bg:#f6f8f7;
    --ui-v2-shadow:0 14px 38px rgba(24,55,51,.08);
}
.admin-body{background:var(--ui-v2-bg)}
.admin-shell{min-width:0}
.page-wrap.page-wide{max-width:1180px}
.page-heading{padding-top:2px}
.page-heading h1{font-weight:850}
.page-heading p{line-height:1.75}
.card-header>div>p,.section-heading p{margin:4px 0 0;color:var(--ui-v2-muted);font-size:10.5px;line-height:1.6}
.card-header>a{color:var(--brand);font-size:10.5px;font-weight:800}
body.ui-drawer-open{overflow:hidden}

/* Period picker and dashboard */
.period-picker-v2{position:relative;z-index:28}
.period-picker-v2>summary{min-width:202px;min-height:44px;padding:7px 10px;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:8px;list-style:none;border:1px solid var(--ui-v2-line);border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(20,50,46,.04);cursor:pointer}
.period-picker-v2>summary::-webkit-details-marker{display:none}
.period-picker-v2>summary:hover{border-color:#cbd7d3}
.period-picker-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:var(--brand);background:var(--brand-soft)}
.period-picker-v2>summary>span:nth-child(2){display:grid;gap:1px}
.period-picker-v2>summary small{color:#8b9592;font-size:9px}
.period-picker-v2>summary b{font-size:11px}
.period-picker-v2>summary>i{font-style:normal;color:#87918e;transition:transform .18s}
.period-picker-v2[open]>summary>i{transform:rotate(180deg)}
.period-picker-panel{position:absolute;top:calc(100% + 8px);left:0;width:330px;padding:12px;border:1px solid var(--ui-v2-line);border-radius:13px;background:#fff;box-shadow:var(--ui-v2-shadow)}
.period-quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:9px;background:#f4f7f6}
.period-quick-links a{padding:8px 5px;border-radius:7px;text-align:center;color:#697471;font-size:10px;font-weight:700}
.period-quick-links a.active,.period-quick-links a:hover{color:var(--brand);background:#fff;box-shadow:0 2px 8px rgba(17,54,49,.07)}
.custom-period-form{margin-top:11px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.custom-period-form .field{gap:4px}.custom-period-form .field label{font-size:9px}.custom-period-form .input{min-height:38px;padding:7px 8px;font-size:10px}
.custom-period-form .btn{grid-column:1/-1;min-height:38px}
.period-picker-hint{margin-top:9px;display:block;color:#89928f;font-size:9px;line-height:1.6}
.dashboard-command-bar-v2{border-color:#dce7e4;background:linear-gradient(120deg,#fff 0%,#fbfdfc 65%,#f1f8f6 100%)}
.dashboard-kpis-v2{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dashboard-kpis-v2 .stat-card{min-height:132px;padding:17px;display:block}
.dashboard-kpis-v2 .stat-card::after{width:115px;height:115px;left:-34px;bottom:-48px}
.dashboard-kpis-v2 .stat-top{justify-content:space-between}
.dashboard-kpis-v2 .stat-icon{width:38px;height:38px;border-radius:10px}
.dashboard-kpis-v2 .growth{align-self:auto;padding:3px 6px;border-radius:999px;background:#f4f7f6;font-size:9px}
.dashboard-kpis-v2 .stat-value{margin-top:13px;font-size:24px;letter-spacing:-.5px}
.dashboard-kpis-v2 .stat-value small{font-size:10px;color:#74807d}
.dashboard-kpis-v2 .stat-label{font-size:11px;color:#485451;font-weight:700}
.stat-comparison{margin-top:5px;display:block;color:#9aa3a0;font-size:8.5px}
.dashboard-kpis-v2 .is-customers .stat-icon{color:#4a77b3;background:#eef5ff}
.dashboard-chart-v2{min-height:385px;padding:19px 20px 16px;overflow:hidden}
.dashboard-chart-v2 .card-header{margin-bottom:11px}
.dashboard-chart-v2 .line-chart{height:285px;padding:8px 0 24px;cursor:crosshair}
.dashboard-chart-v2 .line-chart svg{height:245px}
.dashboard-chart-v2 .chart-area{fill:color-mix(in srgb,var(--brand) 9%,transparent)}
.chart-point{opacity:0;fill:#fff;stroke-width:2;vector-effect:non-scaling-stroke;transition:opacity .15s}
.chart-point.visits{stroke:var(--brand)}.chart-point.orders{stroke:var(--accent)}
.dashboard-chart-v2:hover .chart-point{opacity:.75}
.chart-tooltip{position:absolute;z-index:6;min-width:145px;padding:9px 10px;border:1px solid #dce5e2;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(20,48,44,.14);pointer-events:none;text-align:right}
.chart-tooltip strong{margin-bottom:6px;display:block;font-size:10px}
.chart-tooltip span{display:flex;align-items:center;gap:5px;color:#65706d;font-size:9px}
.chart-tooltip span+span{margin-top:4px}.chart-tooltip span b{margin-inline-start:auto;color:#27312f}
.chart-tooltip i{width:7px;height:7px;border-radius:50%;background:var(--brand)}.chart-tooltip i.orders{background:var(--accent)}
.dashboard-columns-v2{grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr)}
.rank-index{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#74807d;background:#f2f5f4;font-size:9px;font-weight:800}
.dashboard-wide-rank-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.visited-products-card{width:100%;margin-inline:0}
.support-card-v2{background:linear-gradient(135deg,#fff,#f1f8f6)}

/* Orders */
.orders-summary-strip{margin-bottom:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.orders-summary-strip article{min-height:72px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid var(--ui-v2-line);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(22,52,48,.03)}
.orders-summary-strip article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--brand);background:var(--brand-soft)}
.orders-summary-strip .orders-summary-dot{width:9px;height:9px;margin:0 11px;border-radius:50%;background:#b5bfbc;box-shadow:0 0 0 7px #f1f4f3}
.orders-summary-strip .is-new .orders-summary-dot{background:#e6923e;box-shadow:0 0 0 7px #fff2e6}
.orders-summary-strip .is-progress .orders-summary-dot{background:#4d84c4;box-shadow:0 0 0 7px #edf5ff}
.orders-summary-strip .is-complete .orders-summary-dot{background:#38a875;box-shadow:0 0 0 7px #eaf8f1}
.orders-summary-strip article>div{display:grid;gap:2px}.orders-summary-strip small{color:#828c89;font-size:9px}.orders-summary-strip strong{font-size:19px}
.orders-workspace-card,.customers-workspace-card{padding:15px 16px 12px;border-radius:14px}
.orders-toolbar,.customers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}
.orders-toolbar .reference-search,.customers-toolbar .reference-search{width:min(520px,100%);box-shadow:none}
.orders-toolbar-note{display:flex;align-items:center;gap:7px;color:#85908d;font-size:9px;white-space:nowrap}
.orders-workspace-card .reference-status-tabs{margin-bottom:13px}
.orders-workspace-card .order-table-head{margin-top:0}
.orders-workspace-card .order-list{gap:5px}
.orders-workspace-card .order-card{min-height:68px;padding:10px 12px;border:1px solid transparent;border-bottom-color:#edf0ef;border-radius:9px;background:#fff;box-shadow:none;transition:.16s}
.orders-workspace-card .order-card:hover{border-color:#dce5e2;background:#fbfdfc;transform:none;box-shadow:0 6px 18px rgba(21,51,47,.05)}
.orders-workspace-card .order-card.selected{border-color:color-mix(in srgb,var(--brand) 35%,#dce5e2);background:var(--brand-soft);box-shadow:none}
.order-number{display:grid;gap:0}.order-number small{color:#929b98;font-size:8px;font-weight:500}
.order-card time{display:grid;gap:2px}.order-card time b{color:#515c59;font-size:10px}.order-card time small{font-size:9px}
.order-total{font-size:11px}.order-total small{font-size:8px;color:#7a8582}
.orders-empty-state{min-height:270px}
.ui-detail-drawer{z-index:140}
.ui-detail-drawer .order-preview-backdrop{background:rgba(18,31,28,.55);backdrop-filter:blur(2px)}
.ui-detail-drawer .order-preview-panel{width:min(560px,100%);padding:0 20px 22px;background:#f5f7f6}
.ui-detail-drawer .order-preview-header{position:sticky;z-index:5;top:0;margin:0 -20px;padding:18px 20px 15px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom-color:#e0e6e4}
.drawer-title-line{display:flex;align-items:center;gap:7px}.drawer-title-line>span:last-child{color:#7b8582;font-size:9px}
.ui-detail-drawer .drawer-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dbe2e0;border-radius:50%;background:#fff;color:#55615e;font-size:20px}
.order-status-timeline{margin:15px 0 0;padding:14px 12px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid #dfe7e4;border-radius:12px;background:#fff}
.timeline-step{position:relative;display:grid;justify-items:center;gap:5px;color:#9aa3a0;text-align:center}
.timeline-step:not(:last-child)::after{content:"";position:absolute;top:12px;right:calc(50% + 13px);width:calc(100% - 26px);height:2px;background:#e8eceb}
.timeline-step>span{position:relative;z-index:2;width:25px;height:25px;display:grid;place-items:center;border:2px solid #dfe5e3;border-radius:50%;background:#fff;font-size:8px;font-weight:800}
.timeline-step>small{font-size:8px;white-space:nowrap}
.timeline-step.is-complete{color:var(--brand)}.timeline-step.is-complete>span{color:#fff;border-color:var(--brand);background:var(--brand)}.timeline-step.is-complete:not(:last-child)::after{background:color-mix(in srgb,var(--brand) 45%,#e8eceb)}
.timeline-step.is-current>span{box-shadow:0 0 0 5px var(--brand-soft)}
.cancelled-timeline-state{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;color:#a14e4e}.cancelled-timeline-state>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#fff0f0;font-size:18px}.cancelled-timeline-state div{display:grid}.cancelled-timeline-state small{font-size:9px;color:#9a7777}
.ui-detail-drawer .order-preview-section{border-radius:12px;border-color:#dfe6e4;box-shadow:0 4px 13px rgba(20,50,46,.025)}
.preview-section-title a{color:var(--brand);font-size:9px;font-weight:800}
.customer-preview dl{grid-template-columns:1fr 1fr;gap:0 15px}.customer-preview dl>div{grid-template-columns:70px 1fr;padding:7px 0;border-bottom:1px dashed #e7ebe9}.customer-preview dl>div.full{grid-column:1/-1}
.order-drawer-actions{position:sticky;z-index:4;bottom:-22px;margin:15px -20px -22px;padding:13px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #dfe5e3;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.order-drawer-actions .order-status-form{margin:0;padding:0;border:0;background:transparent}.order-drawer-actions .order-status-form>div{flex-wrap:nowrap;overflow-x:auto}.order-drawer-actions .order-status-form .btn{flex:1;white-space:nowrap}
.order-drawer-actions .order-preview-footer{margin-top:8px}.btn-light-danger{color:#a54c4c!important;border-color:#ecd1d1!important;background:#fff8f8!important}

/* Customers */
.customer-stat-grid{margin-bottom:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.customer-stat-grid article{min-height:78px;padding:13px;display:flex;align-items:center;gap:10px;border:1px solid var(--ui-v2-line);border-radius:12px;background:#fff}
.customer-stat-grid article>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--brand);background:var(--brand-soft);font-size:18px;font-weight:900}
.customer-stat-grid article>div{display:grid;gap:2px}.customer-stat-grid small{color:#7d8885;font-size:9px}.customer-stat-grid strong{font-size:18px}.customer-stat-grid em{font-style:normal;color:#7b8582;font-size:8px}
.customers-toolbar{margin-bottom:12px}.customers-toolbar>small{color:#89928f;font-size:9px}
.customer-table-head,.customer-row-v2{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(130px,.8fr) 80px 125px 105px 28px;align-items:center;gap:12px}
.customer-table-head{padding:0 12px 8px;color:#8b9491;font-size:8.5px}
.customer-list-v2{display:grid;gap:5px}
.customer-row-v2{min-height:67px;padding:9px 12px;border:1px solid transparent;border-bottom-color:#edf0ef;border-radius:9px;color:inherit;background:#fff;transition:.16s}
.customer-row-v2:hover{border-color:#dce5e2;background:#fbfdfc;box-shadow:0 6px 18px rgba(21,51,47,.05)}.customer-row-v2.selected{border-color:color-mix(in srgb,var(--brand) 32%,#dce5e2);background:var(--brand-soft)}
.customer-main-cell{display:flex;align-items:center;gap:9px;min-width:0}.customer-main-cell>i{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:var(--brand);background:var(--brand-soft);font-style:normal;font-weight:900}.customer-main-cell>span{min-width:0;display:grid}.customer-main-cell strong,.customer-main-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-main-cell strong{font-size:11px}.customer-main-cell small{color:#8b9491;font-size:8.5px}
.customer-phone{font-size:10px;color:#57625f}.customer-orders-count{text-align:center;font-size:11px}.customer-spent{font-size:10px}.customer-spent small{color:#88928f;font-size:8px}.customer-row-v2 time{color:#7e8986;font-size:9px}
.customer-drawer-header{align-items:center}.customer-drawer-identity{display:flex;align-items:center;gap:11px}.customer-drawer-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--brand),#0b8878);font-size:19px;font-weight:900}.customer-drawer-identity>div{display:grid;gap:1px}.customer-drawer-identity h2{margin:0!important}.customer-drawer-identity span{color:#74807d;font-size:9px}
.customer-drawer-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.customer-drawer-stats{margin-top:11px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.customer-drawer-stats article{padding:11px;border:1px solid #dfe6e4;border-radius:10px;background:#fff;display:grid;gap:3px}.customer-drawer-stats small{color:#7c8784;font-size:8.5px}.customer-drawer-stats strong{font-size:15px}
.customer-contact-section dl{grid-template-columns:1fr}.customer-order-mini-list{display:grid}.customer-order-mini-list>a{padding:9px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e9edeb;color:inherit}.customer-order-mini-list>a:last-child{border-bottom:0}.customer-order-mini-list>a>span{display:grid;gap:2px}.customer-order-mini-list strong{font-size:10.5px}.customer-order-mini-list small{max-width:260px;color:#818b88;font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-order-mini-list>a>span:last-child{text-align:left}.drawer-empty-mini{padding:20px;text-align:center;color:#89928f;font-size:10px}.customer-drawer-footer{margin-top:15px}.customer-drawer-footer .btn{width:100%}

/* QR */
.qr-publication-status{min-height:58px;margin-bottom:14px;padding:11px 14px;display:flex;align-items:center;gap:10px;border:1px solid #ead9ad;border-radius:12px;background:#fffaf0;color:#735f35}.qr-publication-status.is-live{border-color:#cde6da;background:#f4fbf7;color:#235e4e}.qr-publication-status>div{display:grid;gap:2px;flex:1}.qr-publication-status strong{font-size:11px}.qr-publication-status small{font-size:9px}.qr-publication-status>a{color:inherit;font-size:9px;font-weight:800}
.qr-v2-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:15px;align-items:start}
.qr-v2-preview-card{padding:18px;position:sticky;top:86px;overflow:hidden;background:linear-gradient(160deg,#fff 0%,#fff 72%,#eef7f4 100%)}
.qr-v2-brand-head{display:flex;align-items:center;gap:9px}.qr-v2-brand-head>img,.qr-v2-brand-head>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;object-fit:cover;color:#fff;background:var(--brand);font-weight:900}.qr-v2-brand-head>div{display:grid}.qr-v2-brand-head small{color:#8b9491;font-size:8px}.qr-v2-brand-head strong{font-size:11px}
.qr-v2-code-frame{width:min(290px,100%);margin:18px auto 10px;padding:15px;border:1px solid #dce5e2;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(21,53,48,.08)}.qr-v2-code-frame img{width:100%;display:block}.qr-v2-preview-card>p{text-align:center;color:#44504d;font-size:10px;font-weight:700}.qr-v2-preview-footer{margin-top:14px;padding-top:11px;display:flex;justify-content:space-between;border-top:1px solid #e3e8e6;color:#7c8683;font-size:8px}.qr-v2-preview-footer span{color:var(--brand);font-weight:900}
.qr-v2-actions-column{display:grid;gap:12px}.qr-share-card,.qr-download-card,.qr-usage-tips{border-radius:14px}.qr-copy-row-v2{padding:5px;border:1px solid #dbe3e1;border-radius:10px;background:#fafcfc}.qr-copy-row-v2 .input{border:0;background:transparent}.qr-copy-row-v2 .btn{min-width:95px}
.qr-share-shortcuts{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}.qr-share-shortcuts a,.qr-share-shortcuts button{padding:7px 9px;border:1px solid #e0e6e4;border-radius:8px;color:#596561;background:#fff;font:inherit;font-size:9px;cursor:pointer}.qr-share-shortcuts a:hover,.qr-share-shortcuts button:hover{color:var(--brand);background:var(--brand-soft)}
.qr-download-options{display:grid;gap:7px}.qr-download-options>a,.qr-download-options>button{min-height:61px;padding:9px 10px;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;border:1px solid #e0e6e4;border-radius:10px;color:inherit;background:#fff;text-align:right;font:inherit;cursor:pointer}.qr-download-options>a:hover,.qr-download-options>button:hover{border-color:#bfd2cd;background:#fbfdfc}.qr-download-options>a>span,.qr-download-options>button>span{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;color:var(--brand);background:var(--brand-soft);font-size:9px;font-weight:900}.qr-download-options div{display:grid;gap:2px}.qr-download-options strong{font-size:10px}.qr-download-options small{color:#85908d;font-size:8.5px}.qr-download-options b{color:var(--brand);font-size:9px}
.qr-usage-tips>h3{margin:0 0 9px;font-size:12px}.qr-usage-tips>div{padding:8px 0;display:flex;gap:9px;border-bottom:1px solid #edf0ef}.qr-usage-tips>div:last-child{border:0}.qr-usage-tips>div>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:var(--brand);background:var(--brand-soft);font-size:8px;font-weight:900}.qr-usage-tips p{margin:0;display:grid}.qr-usage-tips strong{font-size:9.5px}.qr-usage-tips small{color:#87918e;font-size:8.5px}
.table-qr-section-v2{margin-top:15px}.table-qr-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.table-qr-grid-v2>article{padding:10px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:9px;border:1px solid #e0e6e4;border-radius:10px}.table-qr-grid-v2 img{width:62px;height:62px}.table-qr-grid-v2 h3{margin:0;font-size:10.5px}.table-qr-grid-v2 small{color:#87918e;font-size:8px}.table-qr-grid-v2 details{position:relative}.table-qr-grid-v2 summary{padding:6px 8px;list-style:none;border:1px solid #e0e6e4;border-radius:7px;color:var(--brand);font-size:8.5px;cursor:pointer}.table-qr-grid-v2 details>div{position:absolute;z-index:5;top:calc(100% + 5px);left:0;min-width:80px;padding:4px;display:grid;border:1px solid #dfe6e4;border-radius:8px;background:#fff;box-shadow:var(--ui-v2-shadow)}.table-qr-grid-v2 details a,.table-qr-grid-v2 details button{padding:6px;border:0;border-radius:5px;background:transparent;text-align:right;font:inherit;font-size:8px}.table-qr-grid-v2 .empty-state{grid-column:1/-1}

/* Packages */
.subscription-overview-v2{margin-bottom:14px;padding:16px;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.5fr) auto;align-items:center;gap:18px;border-color:#cfe2dc;background:linear-gradient(125deg,#fff,#f2f8f6)}
.subscription-overview-main{display:flex;align-items:center;gap:11px}.subscription-overview-main>div{display:grid}.subscription-overview-main small{color:#7d8885;font-size:8px}.subscription-overview-main h2{margin:2px 0;font-size:17px}.subscription-overview-main p{margin:0;color:#75807d;font-size:8.5px}.subscription-overview-v2 .subscription-usage-grid{grid-template-columns:repeat(4,1fr);gap:7px}.subscription-manage-link{color:var(--brand);font-size:9px;font-weight:800;white-space:nowrap}
.package-control-bar{margin-bottom:14px;padding:11px 13px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;border:1px solid #e0e6e4;border-radius:13px;background:#fff}.package-control-bar>div:first-child{display:grid}.package-control-bar>div:first-child small{color:#87918e;font-size:8px}.package-control-bar>div:first-child strong{font-size:11px}.billing-toggle-v2{margin:0}.billing-toggle-v2 a{display:flex;align-items:center;gap:5px}.billing-toggle-v2 a small{padding:2px 5px;border-radius:999px;background:#e8f6f1;font-size:7px}.package-review-note{justify-self:end;color:#7e8986;font-size:8.5px}
.plans-grid-v2{align-items:start}.plan-card-v2{min-height:0;padding:17px 15px 14px;border-radius:14px}.plan-card-v2.featured{transform:translateY(-5px)}.plan-card-v2.is-current{border-color:#bcd8d2;background:linear-gradient(180deg,#fff,#f7fbfa)}
.plan-card-head{min-height:39px;display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.plan-card-head>div:last-child{display:grid;justify-items:end;gap:3px}.plan-card-v2 .plan-icon{width:37px;height:37px;border-radius:11px}.plan-card-v2 h3{margin:10px 0 3px;font-size:15px}.plan-card-v2 .plan-description{min-height:34px;font-size:9px}.plan-card-v2 .plan-price{margin:8px 0 3px;font-size:25px}.plan-saving-note{margin:0;color:#18855f;font-size:8px;font-weight:700}.plan-card-v2 .plan-trial-note{margin-top:3px}
.plan-features-wrap{margin-top:9px}.plan-card-v2 .plan-features{margin-bottom:0;padding-top:10px;gap:7px}.plan-card-v2 .plan-feature{font-size:9px;line-height:1.45}.plan-card-v2 .plan-feature::before{width:16px;height:16px;font-size:8px}.plan-card-v2 .plan-feature.is-extra{display:none}.plan-card-v2.features-expanded .plan-feature.is-extra{display:flex}.plan-feature-toggle{width:100%;margin-top:7px;padding:7px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;color:#66716e;background:#f5f7f6;font:inherit;font-size:8.5px;cursor:pointer}.plan-feature-toggle i{font-style:normal;transition:transform .18s}.features-expanded .plan-feature-toggle i{transform:rotate(180deg)}
.plan-card-action{margin-top:12px;display:grid;gap:5px}.plan-card-action .btn{margin:0}.plan-card-action>small{text-align:center;color:#919a97;font-size:7.5px}.package-help-card{margin-top:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.package-help-card>div{display:flex;align-items:center;gap:9px}.package-help-card>div>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--brand);background:var(--brand-soft);font-weight:900}.package-help-card p{margin:0;display:grid}.package-help-card strong{font-size:10px}.package-help-card small{color:#7f8986;font-size:8.5px}.package-help-card>a{color:var(--brand);font-size:9px;font-weight:800}

/* Settings navigation refinement */
.settings-nav-v2{padding:0;overflow:hidden;border-radius:14px}.settings-nav-v2>header{padding:15px 14px 12px;border-bottom:1px solid #e8eceb;background:linear-gradient(140deg,#fff,#f3f8f6)}.settings-nav-v2>header small{color:var(--brand);font-size:8px;font-weight:800}.settings-nav-v2>header strong{margin-top:3px;display:block;font-size:11px}.settings-nav-v2>header p{margin:4px 0 0;color:#7f8986;font-size:8.5px;line-height:1.55}.settings-nav-links{padding:7px}.settings-nav-v2 .settings-nav-links a{padding:8px 9px;display:flex;align-items:center;gap:8px}.settings-nav-v2 .settings-nav-links a>span{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#83908c;background:#f2f5f4;font-size:7.5px}.settings-nav-v2 .settings-nav-links a.active>span{color:var(--brand);background:#fff;box-shadow:0 2px 8px rgba(18,53,48,.07)}.settings-nav-v2>footer{padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;border-top:1px solid #e8eceb;background:#fafcfc}.settings-nav-v2>footer small{font-size:8.5px}.settings-nav-v2>footer a{padding:0;color:var(--brand);background:transparent!important;font-size:8px}.settings-section{scroll-margin-top:92px}.settings-section:target{border-color:#bfd7d1;box-shadow:0 0 0 3px rgba(7,95,85,.06)}

@media(max-width:1120px){
    .dashboard-kpis-v2,.orders-summary-strip,.customer-stat-grid{grid-template-columns:1fr 1fr}
    .dashboard-wide-rank-list{grid-template-columns:1fr}
    .qr-v2-layout{grid-template-columns:320px minmax(0,1fr)}
    .table-qr-grid-v2{grid-template-columns:1fr 1fr}
    .subscription-overview-v2{grid-template-columns:1fr}.subscription-overview-v2 .subscription-usage-grid{grid-template-columns:repeat(4,1fr)}.subscription-manage-link{justify-self:start}
    .package-control-bar{grid-template-columns:1fr auto}.package-review-note{grid-column:1/-1;justify-self:start}
}
@media(max-width:960px){
    .period-picker-panel{left:auto;right:0}
    .dashboard-columns-v2{grid-template-columns:1fr}
    .qr-v2-layout{grid-template-columns:1fr}.qr-v2-preview-card{position:static;width:min(420px,100%);margin:auto}
    .settings-nav-v2>header,.settings-nav-v2>footer{display:none}.settings-nav-v2{position:sticky;top:60px;z-index:20;border-radius:0;margin-inline:-15px;border-inline:0}.settings-nav-links{display:flex;overflow-x:auto}.settings-nav-v2 .settings-nav-links a{flex:0 0 auto;white-space:nowrap}.settings-nav-v2 .settings-nav-links a>span{display:none}
}
@media(max-width:760px){
    .period-picker-v2{width:100%}.period-picker-v2>summary{width:100%}.period-picker-panel{right:0;left:0;width:100%}
    .dashboard-kpis-v2,.orders-summary-strip,.customer-stat-grid{grid-template-columns:1fr 1fr}
    .dashboard-kpis-v2 .stat-card{min-height:116px}.dashboard-kpis-v2 .stat-value{font-size:20px}
    .dashboard-chart-v2{padding:14px 10px}.dashboard-chart-v2 .chart-legend{gap:8px}.dashboard-chart-v2 .line-chart{height:245px}.dashboard-chart-v2 .line-chart svg{height:205px}
    .orders-toolbar,.customers-toolbar{align-items:stretch;flex-direction:column}.orders-toolbar .reference-search,.customers-toolbar .reference-search{width:100%}.orders-toolbar-note,.customers-toolbar>small{padding-inline:4px}
    .orders-workspace-card,.customers-workspace-card{padding:11px 9px}
    .orders-workspace-card .order-card{grid-template-columns:72px 1fr auto;gap:7px;padding:10px}.orders-workspace-card .order-card time,.orders-workspace-card .order-card>.order-total{display:none}.orders-workspace-card .order-card>.badge{grid-column:2;justify-self:start}.orders-workspace-card .order-card>.order-open-arrow{grid-column:3;grid-row:1/3}
    .customer-table-head{display:none}.customer-row-v2{grid-template-columns:1fr auto 27px;gap:7px}.customer-row-v2 .customer-phone,.customer-row-v2 .customer-orders-count,.customer-row-v2 time{display:none}.customer-row-v2 .customer-spent{grid-column:2}.customer-row-v2 .order-open-arrow{grid-column:3;grid-row:1}
    .ui-detail-drawer .order-preview-panel{padding-inline:12px}.ui-detail-drawer .order-preview-header{margin-inline:-12px;padding-inline:12px}.order-drawer-actions{margin-inline:-12px;padding-inline:12px}.order-status-timeline{padding-inline:5px}.timeline-step small{font-size:7px}.timeline-step:not(:last-child)::after{right:calc(50% + 11px);width:calc(100% - 22px)}.timeline-step>span{width:22px;height:22px}
    .customer-preview dl{grid-template-columns:1fr}
    .qr-v2-preview-card{width:100%}.table-qr-grid-v2{grid-template-columns:1fr}
    .subscription-overview-v2 .subscription-usage-grid{grid-template-columns:1fr 1fr}.package-control-bar{grid-template-columns:1fr}.billing-toggle-v2{justify-self:start}.package-review-note{grid-column:auto}.plans-grid-v2{grid-template-columns:1fr}.plan-card-v2.featured{transform:none}
}
@media(max-width:480px){
    .dashboard-kpis-v2,.orders-summary-strip,.customer-stat-grid{grid-template-columns:1fr}
    .custom-period-form{grid-template-columns:1fr}.custom-period-form .btn{grid-column:auto}
    .dashboard-command-bar-v2 .dashboard-quick-actions{grid-template-columns:1fr 1fr}.dashboard-command-bar-v2 .dashboard-quick-actions a:last-child{grid-column:1/-1}
    .dashboard-kpis-v2 .stat-card{min-height:105px}.dashboard-wide-rank-list{display:block}
    .orders-summary-strip article,.customer-stat-grid article{min-height:62px}
    .order-status-timeline{overflow-x:auto;grid-template-columns:repeat(5,minmax(70px,1fr))}.timeline-step:not(:last-child)::after{display:none}
    .customer-drawer-stats{grid-template-columns:1fr 1fr}.customer-order-mini-list small{max-width:170px}
    .qr-copy-row-v2{display:grid}.qr-copy-row-v2 .btn{width:100%}.qr-share-shortcuts{display:grid;grid-template-columns:1fr}.qr-download-options>a,.qr-download-options>button{grid-template-columns:40px 1fr}.qr-download-options b{display:none}
    .table-qr-grid-v2>article{grid-template-columns:56px 1fr auto}.table-qr-grid-v2 img{width:54px;height:54px}
    .package-help-card{align-items:flex-start;flex-direction:column}
}
@media print{
    .qr-v2-actions-column,.qr-publication-status,.table-qr-section-v2{display:none!important}.qr-v2-layout{display:block}.qr-v2-preview-card{position:static;width:360px;margin:40px auto;border:0;box-shadow:none}
}

/* =========================================================
   Restaurant Branches Core V1 — dashboard UI v57
   ========================================================= */
.topbar-branch-switcher{min-width:158px;height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #dde5e2;border-radius:10px;background:#fff;color:#53615d;box-shadow:0 2px 9px rgba(25,55,49,.03)}
.topbar-branch-switcher>svg{flex:0 0 auto;color:var(--brand)}.topbar-branch-switcher>label{display:none}.topbar-branch-switcher>select{min-width:0;max-width:145px;flex:1;border:0;outline:0;background:transparent;color:#23312e;font:inherit;font-size:9px;font-weight:800;cursor:pointer;appearance:none}.topbar-branch-switcher>span{font-size:10px;color:#84908d;pointer-events:none}

.branch-overview-card{margin-bottom:13px;padding:15px 17px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,.8fr) auto;align-items:center;gap:20px;border-color:#d7e6e2;background:linear-gradient(128deg,#fff 0%,#f4faf8 100%)}
.branch-overview-copy{display:flex;align-items:center;gap:11px}.branch-overview-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--brand);background:var(--brand-soft)}.branch-overview-copy>div{display:grid;gap:2px}.branch-overview-copy small{color:#80908c;font-size:8px}.branch-overview-copy h2{margin:0;font-size:15px}.branch-overview-copy p{margin:0;color:#788580;font-size:8.5px}.branch-usage-meter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.branch-usage-meter>div{height:7px;overflow:hidden;border-radius:999px;background:#e7eeec}.branch-usage-meter i{height:100%;display:block;border-radius:inherit;background:var(--brand)}.branch-usage-meter>span{color:#53645f;font-size:8px;font-weight:800}.branch-overview-card>a{color:var(--brand);font-size:8.5px;font-weight:800;white-space:nowrap}
.branch-stats-grid{margin-bottom:13px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.branch-stats-grid>article,.branch-detail-stats>article{min-height:72px;padding:12px 13px;display:flex;align-items:center;gap:10px;border:1px solid #e2e8e6;border-radius:12px;background:#fff}.branch-stats-grid>article>span,.branch-detail-stats>article>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--brand);background:#eef7f4}.branch-stats-grid>article>div,.branch-detail-stats>article>div{display:grid}.branch-stats-grid b,.branch-detail-stats b{font-size:16px;line-height:1.15}.branch-stats-grid small,.branch-detail-stats small{margin-top:3px;color:#83908c;font-size:8px}
.branches-toolbar{margin-bottom:13px;padding:9px;display:grid;grid-template-columns:minmax(260px,1fr) 180px;gap:9px}.branches-toolbar .reference-search{margin:0}.branches-toolbar>.select{min-height:39px}
.branches-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.branch-card{position:relative;padding:14px;overflow:visible;transition:transform .16s,border-color .16s,box-shadow .16s}.branch-card:hover{transform:translateY(-2px);border-color:#cbdcd8;box-shadow:0 12px 26px rgba(22,54,47,.08)}.branch-card.is-current{border-color:#94c1b8;box-shadow:0 0 0 2px rgba(25,118,102,.07)}.branch-card.is-muted{background:#fbfcfc}.branch-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.branch-card-title{display:flex;align-items:center;min-width:0;gap:9px}.branch-card-mark{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#fff;background:linear-gradient(145deg,var(--brand),#173f39);font-size:15px;font-weight:900}.branch-card-title>div{min-width:0;display:grid;gap:2px}.branch-card-title>div>div{display:flex;align-items:center;gap:5px;min-width:0}.branch-card h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.branch-card-title small{color:#929d99;font-size:7.5px;direction:ltr;text-align:right}.branch-card .action-menu{position:relative}.branch-card .action-menu-panel{z-index:15}.action-menu-panel form{display:block}.action-menu-panel form button{width:100%;padding:8px 10px;border:0;background:transparent;text-align:right;color:inherit;font:inherit;font-size:8.5px;cursor:pointer}.action-menu-panel form button:hover{background:#f3f7f6}
.branch-card-status{margin:12px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:7px}.branch-status{width:max-content;padding:4px 8px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#f2f5f4;color:#66736f;font-size:7.5px;font-weight:800}.branch-status i{width:6px;height:6px;border-radius:50%;background:#9ba5a2}.branch-status.is-active{color:#16855f;background:#eaf7f2}.branch-status.is-active i{background:#1aa976;box-shadow:0 0 0 3px rgba(26,169,118,.12)}.branch-status.is-paused{color:#a45d28;background:#fff3e8}.branch-status.is-paused i{background:#e0833c}.branch-status.is-preparing{color:#426b9c;background:#edf4fc}.branch-status.is-preparing i{background:#5f8fc7}.branch-open-state{font-size:7.5px;font-weight:800}.branch-open-state.is-open{color:#188963}.branch-open-state.is-closed{color:#c65b58}
.branch-address,.branch-contact{margin:6px 0;display:flex;align-items:flex-start;gap:6px;color:#64716d;font-size:8.5px;line-height:1.55}.branch-address svg,.branch-contact svg{margin-top:1px;flex:0 0 auto;color:#98a29f}.branch-channel-list{margin:11px 0;display:flex;gap:5px;flex-wrap:wrap}.branch-channel-list span{padding:4px 7px;border:1px solid #e5e9e8;border-radius:7px;color:#a0a8a5;background:#fafbfb;font-size:7px}.branch-channel-list span.enabled{border-color:#cae2dc;color:var(--brand);background:#f1f8f6;font-weight:800}.branch-card-metrics{padding:9px 0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #edf0ef}.branch-card-metrics>div{display:grid;text-align:center;border-inline-start:1px solid #edf0ef}.branch-card-metrics>div:first-child{border-inline-start:0}.branch-card-metrics b{font-size:11px}.branch-card-metrics small{color:#8a9491;font-size:7px}.branch-card>footer{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:7px}.branch-card>footer form{margin:0}.current-branch-label{color:#187b62;font-size:7.8px;font-weight:800}.branches-empty-state{grid-column:1/-1;min-height:280px;display:grid;place-items:center;align-content:center}.empty-state-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:var(--brand);background:var(--brand-soft)}

.branch-form-tabs{position:sticky;top:65px;z-index:12;margin-bottom:12px;padding:6px;display:flex;gap:5px;overflow-x:auto;border:1px solid #e1e7e5;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(25,53,48,.05);backdrop-filter:blur(10px)}.branch-form-tabs a{padding:8px 11px;flex:0 0 auto;border-radius:8px;color:#71807b;font-size:8.5px;font-weight:700}.branch-form-tabs a:hover,.branch-form-tabs a.active{color:var(--brand);background:var(--brand-soft)}.branch-form-section{margin-bottom:12px;scroll-margin-top:126px}.branch-form-section .card-header{margin-bottom:15px}.section-number{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:var(--brand);background:var(--brand-soft);font-size:10px;font-weight:900}.field label b{color:#d76a5e}.branch-toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.branch-feature-toggle{cursor:pointer}.branch-feature-toggle>input{position:absolute;opacity:0;pointer-events:none}.branch-feature-toggle>span{min-height:78px;padding:12px;display:grid;grid-template-columns:35px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;border:1px solid #e1e7e5;border-radius:12px;background:#fff;transition:border-color .16s,background .16s,box-shadow .16s}.branch-feature-toggle>span>i{width:35px;height:35px;display:grid;place-items:center;grid-row:1/3;border-radius:10px;color:#74827e;background:#f2f5f4}.branch-feature-toggle b{font-size:9.5px}.branch-feature-toggle small{grid-column:2;color:#88938f;font-size:7.5px;line-height:1.5}.branch-feature-toggle em{width:18px;height:18px;display:grid;place-items:center;grid-row:1/3;grid-column:3;border:1.5px solid #ccd5d2;border-radius:6px;font-style:normal}.branch-feature-toggle input:checked+span{border-color:#9dc8be;background:#f5faf9;box-shadow:0 0 0 2px rgba(18,107,91,.05)}.branch-feature-toggle input:checked+span>i{color:var(--brand);background:#e5f3ef}.branch-feature-toggle input:checked+span>em{border-color:var(--brand);background:var(--brand)}.branch-feature-toggle input:checked+span>em::after{content:'✓';color:#fff;font-size:10px;font-weight:900}
.branch-hours-editor{display:grid;gap:7px}.branch-hour-row{min-height:57px;padding:8px 11px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;border:1px solid #e7ebea;border-radius:10px;background:#fbfcfc}.branch-day-switch{margin:0}.branch-hour-fields{display:flex;align-items:end;gap:8px}.branch-hour-fields label{display:grid;gap:3px}.branch-hour-fields label span{color:#89938f;font-size:7px}.branch-hour-fields .input{min-height:34px;padding:6px 9px;direction:ltr}.branch-hour-fields>i{padding-bottom:9px;color:#9aa4a1;font-size:8px;font-style:normal}.branch-day-closed{color:#9aa4a1;font-size:8px}.branch-form-actions{position:sticky;bottom:10px;z-index:10;padding:10px;border:1px solid #dde5e2;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 10px 28px rgba(22,52,46,.12);backdrop-filter:blur(10px)}

.branch-profile-hero{margin-bottom:12px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(130deg,#fff,#f3f9f7)}.branch-profile-main{display:flex;align-items:center;gap:13px}.branch-profile-avatar{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;color:#fff;background:linear-gradient(145deg,var(--brand),#163e38);font-size:22px;font-weight:900;box-shadow:0 9px 20px rgba(15,74,64,.17)}.branch-profile-main>div{display:grid;gap:4px}.branch-profile-title{display:flex;align-items:center;gap:7px}.branch-profile-title h2{margin:0;font-size:18px}.branch-profile-main p{margin:0;color:#75827e;font-size:8.5px}.branch-profile-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.branch-profile-contact{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.branch-profile-contact a{padding:7px 9px;display:flex;align-items:center;gap:5px;border:1px solid #dfe6e4;border-radius:9px;color:#586661;background:#fff;font-size:8px;font-weight:700}.branch-detail-stats{margin-bottom:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.branch-detail-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);align-items:start;gap:12px}.branch-detail-columns>main,.branch-detail-columns>aside{display:grid;gap:12px}.branch-hours-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.branch-hours-summary>div{padding:9px 3px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0ef}.branch-hours-summary strong{font-size:8.5px}.branch-hours-summary span{color:#687571;font-size:8px;direction:ltr}.branch-hours-summary .is-closed span{color:#c36a65}.branch-recent-orders{display:grid}.branch-recent-orders>a{padding:10px 2px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid #edf0ef;color:inherit}.branch-recent-orders>a:last-child{border-bottom:0}.branch-recent-orders>a>div{display:grid}.branch-recent-orders strong{font-size:8.5px}.branch-recent-orders small{margin-top:2px;color:#87928e;font-size:7.5px}.branch-recent-orders>a>span{padding:3px 6px;border-radius:999px;color:#56716a;background:#eef5f3;font-size:7px}.branch-recent-orders>a>b{font-size:8px}.branch-operation-list{display:grid;gap:7px}.branch-operation-list>div{padding:9px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;border:1px solid #e7ebea;border-radius:9px;color:#87928e}.branch-operation-list>div>span{display:grid}.branch-operation-list b{font-size:8.5px}.branch-operation-list small{font-size:7px}.branch-operation-list i{font-style:normal}.branch-operation-list>div.enabled{border-color:#cce1dc;color:var(--brand);background:#f4f9f8}.branch-danger-card form{margin-top:8px;display:grid;gap:7px}.branch-danger-card .btn{width:100%}

.public-branch-switcher{width:max-content;max-width:220px;margin-top:5px;padding:4px 7px;display:flex;align-items:center;gap:5px;border:1px solid rgba(100,115,110,.18);border-radius:8px;background:rgba(255,255,255,.72)}.public-branch-switcher svg{flex:0 0 auto;color:var(--brand)}.public-branch-switcher select{max-width:165px;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:8px;font-weight:800;appearance:none;cursor:pointer}.public-branch-switcher>span{font-size:8px}.public-branch-label{margin-top:5px;display:flex;align-items:center;gap:4px;color:#71807b;font-size:8px}

.branch-context-note{margin-bottom:10px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dce7e4;border-radius:10px;background:#f6faf9;color:#52645f;font-size:8px}.branch-context-note>div{display:flex;align-items:center;gap:6px}.branch-context-note strong{color:var(--brand)}.branch-context-note a{color:var(--brand);font-weight:800}

@media(max-width:1180px){.branches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-detail-columns{grid-template-columns:1fr}.branch-detail-columns>aside{grid-template-columns:1fr 1fr}.branch-overview-card{grid-template-columns:1fr minmax(220px,.8fr)}.branch-overview-card>a{grid-column:1/-1}}
@media(max-width:900px){.topbar-branch-switcher{min-width:42px;width:42px;padding:0 8px}.topbar-branch-switcher>select{position:absolute;width:42px;opacity:0}.topbar-branch-switcher>span{display:none}.branch-stats-grid,.branch-detail-stats{grid-template-columns:1fr 1fr}.branch-overview-card{grid-template-columns:1fr}.branch-toggle-grid{grid-template-columns:1fr}.branch-hours-summary{grid-template-columns:1fr}}
@media(max-width:720px){.branches-toolbar{grid-template-columns:1fr}.branches-grid{grid-template-columns:1fr}.branch-card:hover{transform:none}.branch-form-tabs{top:58px;margin-inline:-15px;border-inline:0;border-radius:0}.branch-hour-row{grid-template-columns:1fr}.branch-hour-fields{justify-content:space-between}.branch-hour-fields label{flex:1}.branch-hour-fields .input{width:100%}.branch-detail-columns>aside{grid-template-columns:1fr}.branch-profile-hero{align-items:flex-start;flex-direction:column}.branch-profile-contact{width:100%}.branch-profile-contact a{flex:1;justify-content:center}.branch-overview-card{padding:13px}.branch-card>footer{align-items:stretch;flex-direction:column}.branch-card>footer form,.branch-card>footer .btn{width:100%}.branch-card>footer button{width:100%}.current-branch-label{text-align:center}.public-branch-switcher{max-width:180px}}
@media(max-width:480px){.branch-stats-grid,.branch-detail-stats{grid-template-columns:1fr}.branch-toggle-grid{grid-template-columns:1fr}.branch-feature-toggle>span{grid-template-columns:32px 1fr auto}.branch-form-actions{display:grid;grid-template-columns:1fr 1fr}.branch-hours-editor{gap:9px}.branch-hour-fields{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}.branch-profile-main{align-items:flex-start}.branch-profile-avatar{width:48px;height:48px;border-radius:14px}.branch-profile-title{align-items:flex-start;flex-direction:column}.branch-recent-orders>a{grid-template-columns:1fr auto}.branch-recent-orders>a>b{grid-column:1/-1}.branch-profile-contact{display:grid;grid-template-columns:1fr 1fr}}

/* Business Team & Roles Core V1 */
.team-stat-grid{margin-bottom:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.team-stat-card{min-height:76px;padding:13px;display:flex;align-items:center;gap:10px}.team-stat-card>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:var(--brand);background:var(--brand-soft);font-size:10px;font-weight:900}.team-stat-card>span.is-success{color:#16805f;background:#eaf8f3}.team-stat-card>span.is-muted{color:#7f8a86;background:#f0f3f2}.team-stat-card>div{display:grid;gap:2px}.team-stat-card small{color:#89938f;font-size:7.5px}.team-stat-card strong{font-size:18px;line-height:1}.team-filter-bar{grid-template-columns:minmax(230px,1fr) 145px 170px auto auto}.team-table-card{margin-top:12px}.team-table td{vertical-align:middle}.team-user-cell{min-width:210px;display:flex;align-items:center;gap:9px}.team-user-cell.compact{min-width:170px}.team-user-cell>div{display:grid;gap:2px}.team-user-cell strong{font-size:8.7px}.team-user-cell small{color:#8a9491;font-size:7.2px}.team-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--brand),#19483f);font-size:11px;font-weight:900;box-shadow:0 5px 12px rgba(20,78,67,.12)}.team-avatar.is-large{width:42px;height:42px;border-radius:12px;font-size:14px}.team-activity-link{color:var(--brand);font-size:8px;font-weight:800}.team-activity-link:hover{text-decoration:underline}.team-drawer[hidden]{display:none}.team-drawer{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-start}.team-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(21,31,29,.42);backdrop-filter:blur(2px);cursor:default}.team-drawer-panel{position:relative;width:min(520px,calc(100vw - 24px));height:100%;margin-inline-start:auto;display:flex;flex-direction:column;overflow:auto;background:#fff;box-shadow:-18px 0 50px rgba(20,46,41,.2);animation:teamDrawerIn .2s ease-out}.team-drawer-panel>header{min-height:82px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e7ecea;background:linear-gradient(140deg,#fff,#f6faf9);position:sticky;top:0;z-index:3}.team-drawer-panel>header>div{display:flex;align-items:center;gap:11px}.team-drawer-panel>header h2{margin:0;font-size:15px}.team-drawer-panel>header p{margin:3px 0 0;color:#7c8985;font-size:7.8px}.team-drawer-panel>header>button{width:32px;height:32px;border:0;border-radius:9px;color:#6b7773;background:#edf2f0;font-size:19px;cursor:pointer}.team-drawer-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}.team-drawer-form{padding:18px;display:flex;flex:1;flex-direction:column;gap:14px}.team-drawer-form fieldset{padding:0;display:grid;gap:14px;border:0}.team-drawer-form>footer,.team-drawer-form fieldset+footer{margin-top:auto;padding-top:14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf0ef}.team-limit-warning,.team-protected-note{margin:14px 18px 0;padding:11px 12px;display:grid;gap:3px;border:1px solid #f1d6a7;border-radius:10px;color:#7b5520;background:#fff9ee}.team-limit-warning strong,.team-protected-note strong{font-size:8.5px}.team-limit-warning a{color:var(--brand);font-size:7.5px;font-weight:800}.team-protected-note{border-color:#cfe1dc;color:#48645c;background:#f5faf8}.team-protected-note span{font-size:7.5px}.team-status-switch{padding:12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid #e1e7e5;border-radius:11px;background:#fafcfc}.team-status-switch>span:last-child{display:grid;gap:2px}.team-status-switch b{font-size:8.5px}.team-status-switch small{color:#87928e;font-size:7.2px}.team-status-switch.is-disabled{opacity:.65}.team-delete-form{margin:0 18px 18px;padding-top:13px;border-top:1px solid #f0dddd}.team-delete-form .btn{width:100%}.team-drawer-open{overflow:hidden}@keyframes teamDrawerIn{from{transform:translateX(-28px);opacity:.55}to{transform:translateX(0);opacity:1}}

.role-stat-grid{margin-bottom:10px}.role-help-card{margin-bottom:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;border-color:#dce9e5;background:#f7fbfa}.role-help-card>span{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--brand);background:#e6f3ef}.role-help-card strong{font-size:9px}.role-help-card p{margin:3px 0 0;color:#74817d;font-size:7.7px;line-height:1.65}.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-card{padding:14px;display:flex;min-height:245px;flex-direction:column}.role-card.is-owner{border-color:#a9cec5;background:linear-gradient(145deg,#fff,#f5faf8)}.role-card>header{display:flex;align-items:flex-start;gap:10px}.role-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--brand);background:var(--brand-soft);font-size:13px;font-weight:900}.role-card-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.role-card h2{margin:0;font-size:12px}.role-card p{margin:4px 0 0;color:#7b8783;font-size:7.5px;line-height:1.55}.role-card-meta{margin:13px 0 10px;padding:9px 0;display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #edf0ef}.role-card-meta span{display:grid;text-align:center;border-inline-start:1px solid #edf0ef;color:#7b8783;font-size:7.2px}.role-card-meta span:first-child{border-inline-start:0}.role-card-meta b{color:#283733;font-size:11px}.role-permission-preview{display:flex;align-content:flex-start;gap:5px;flex-wrap:wrap}.role-permission-preview span{padding:4px 6px;border-radius:7px;color:#536761;background:#eef5f3;font-size:6.8px}.role-permission-preview span.is-more{color:var(--brand);font-weight:900}.role-permission-preview small{color:#929b98;font-size:7.4px}.role-card>footer{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:7px}.role-locked-label{color:#8d9693;font-size:7.5px;font-weight:700}.role-drawer-panel{width:min(760px,calc(100vw - 24px))}.role-form{gap:16px}.role-permissions-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-permissions-heading>div{display:grid;gap:2px}.role-permissions-heading strong{font-size:9.5px}.role-permissions-heading small{color:#89938f;font-size:7.3px}.permission-groups{display:grid;gap:9px}.permission-group{border:1px solid #e2e8e6;border-radius:11px;overflow:hidden}.permission-group>header{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9f8}.permission-group>header strong{font-size:8.5px}.permission-group>header label{display:flex;align-items:center;gap:5px;color:#6f7d79;font-size:7px}.permission-group>div{padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.permission-option{position:relative;cursor:pointer}.permission-option>input{position:absolute;opacity:0}.permission-option>span{min-height:48px;padding:8px 9px;display:grid;align-content:center;gap:2px;border:1px solid #e7ebe9;border-radius:9px;background:#fff}.permission-option b{font-size:7.8px}.permission-option small{color:#9aa3a0;font-size:6.2px;direction:ltr;text-align:right}.permission-option>i{position:absolute;top:8px;left:8px;width:16px;height:16px;display:grid;place-items:center;border:1px solid #d4ddda;border-radius:5px;color:transparent;font-size:8px;font-style:normal}.permission-option input:checked~span{border-color:#a8cec5;background:#f4faf8}.permission-option input:checked~i{border-color:var(--brand);color:#fff;background:var(--brand)}

.activity-filter-bar{grid-template-columns:minmax(210px,1fr) 145px 145px 120px 120px auto auto}.activity-table td{vertical-align:middle}.activity-field-list{max-width:250px;display:flex;gap:4px;flex-wrap:wrap}.activity-ip{padding:4px 6px;border-radius:6px;color:#53645f;background:#f0f4f3;font-size:7px}

@media(max-width:1180px){.roles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-filter-bar{grid-template-columns:minmax(220px,1fr) 140px 160px auto}.activity-filter-bar{grid-template-columns:1fr 150px 150px 125px 125px auto}.activity-filter-bar .btn-light{grid-column:1/-1;width:max-content}}
@media(max-width:900px){.team-stat-grid{grid-template-columns:1fr 1fr}.team-filter-bar,.activity-filter-bar{grid-template-columns:1fr 1fr}.team-filter-bar .search-control,.activity-filter-bar .search-control{grid-column:1/-1}.role-drawer-panel{width:min(680px,calc(100vw - 18px))}}
@media(max-width:720px){.roles-grid{grid-template-columns:1fr}.team-drawer-panel,.role-drawer-panel{width:100%;max-width:100%}.team-stat-grid{grid-template-columns:1fr 1fr}.permission-group>div{grid-template-columns:1fr}.team-table{min-width:760px}.activity-table{min-width:840px}.team-filter-bar,.activity-filter-bar{grid-template-columns:1fr}.team-filter-bar .search-control,.activity-filter-bar .search-control{grid-column:auto}.team-filter-bar .btn,.activity-filter-bar .btn{width:100%}.team-drawer-panel>header{padding:13px 14px}.team-drawer-form{padding:14px}}
@media(max-width:480px){.team-stat-grid{grid-template-columns:1fr}.team-stat-card{min-height:68px}.team-drawer-form .form-grid.cols-2{grid-template-columns:1fr}.role-card{min-height:220px}.role-permissions-heading{align-items:flex-start;flex-direction:column}}

/* Patch 31 — Plans, billing, entitlements & marketplace lifecycle */
.marketplace-v2-page .store-grid.marketplace-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.marketplace-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:22px}
.marketplace-plan-summary small{font-size:13px;color:var(--muted,#78828f)}
.marketplace-plan-summary h2{margin:4px 0;font-size:24px}
.marketplace-plan-summary p{margin:0;font-size:14px;color:var(--muted,#697582)}
.marketplace-app-card{overflow:visible;min-height:100%;border:1px solid #e8ecef}
.marketplace-app-card .store-card-body{padding:20px}
.marketplace-app-card h3{font-size:21px;margin:10px 0 7px}
.marketplace-app-card p{font-size:14px;line-height:1.8}
.marketplace-app-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.marketplace-app-meta>strong{font-size:17px}.marketplace-app-meta>strong small{font-size:12px;font-weight:600;color:#7a8490}
.marketplace-included-price{color:#167a5a}.marketplace-included-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#edf9f4;color:#136a4e;font-size:14px;font-weight:700}
.marketplace-purchase-details{margin-top:12px}.marketplace-purchase-details>summary{list-style:none;cursor:pointer}.marketplace-purchase-details>summary::-webkit-details-marker{display:none}
.marketplace-purchase-form{margin-top:12px;padding:16px;border:1px solid #e6ebef;border-radius:14px;background:#fafcfd}.marketplace-purchase-form>p{margin-top:0;font-size:13px}
.marketplace-pending-box{margin-top:12px;padding:14px;border-radius:13px;background:#fff8e8;border:1px solid #f5dfaa;display:grid;gap:7px}.marketplace-pending-box strong{font-size:15px}.marketplace-pending-box span{font-size:13px;color:#806a35}.marketplace-pending-box>div{display:flex;gap:8px;flex-wrap:wrap}.marketplace-pending-box form{margin:0}
.marketplace-history-card{margin-top:24px}.marketplace-history-card table{min-width:760px}
.plan-feature[data-status="store"],.plan-feature.is-store{color:#69531d}
.plan-trial-note{font-size:13px!important;font-weight:700;color:#14735b!important}
.subscription-overview-v2 .badge-warning{font-size:12px}
@media(max-width:900px){.marketplace-v2-page .store-grid.marketplace-store-grid{grid-template-columns:1fr}.marketplace-plan-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.marketplace-plan-summary{padding:17px}.marketplace-app-card .store-card-body{padding:16px}.marketplace-purchase-form .form-grid.cols-2{grid-template-columns:1fr}.marketplace-app-meta>strong{font-size:15px}}

/* MenuFlow Patch 40 — Marketplace Apps Final V5 */
.marketplace-yearly-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid #e7ebef;border-radius:12px;background:#fafcfd}
.marketplace-yearly-note strong{font-size:14px}.marketplace-yearly-note span{font-size:13px;font-weight:800;padding:4px 9px;border-radius:999px;background:#eef6ff}
.marketplace-expiry-note{margin:10px 0;padding:9px 11px;border-radius:10px;background:#f5faf7;font-size:13px;font-weight:700}
.marketplace-expiry-note.is-expired{background:#fff2f1}
.marketplace-price-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e8ecef}
.marketplace-price-confirm span{font-size:13px}.marketplace-price-confirm strong{font-size:17px}
@media(max-width:560px){.marketplace-yearly-note{width:100%;justify-content:space-between}.marketplace-price-confirm{align-items:flex-start;flex-direction:column}}
.system-plan-runtime-note{display:grid;gap:4px;padding:12px 14px;border:1px dashed #d7e2de;border-radius:12px;background:#f8fbfa}.system-plan-runtime-note strong{font-size:12px}.system-plan-runtime-note small{font-size:11px;line-height:1.7;color:#6f7c78}.system-save-bar span{max-width:780px;line-height:1.7}


/* MenuFlow About plain-text UI polish */
.menu-about-card{display:flex;align-items:flex-start;gap:11px;max-width:720px;margin:0 auto 14px;padding:13px 14px;border:1px solid rgba(24,83,70,.11);border-radius:14px;background:rgba(255,255,255,.72);text-align:start}.menu-about-card-icon{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:#e6f2ef;color:#17685b}.menu-about-card-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-about-card h3{margin:0 0 4px!important;color:#29413b;font-size:13px!important}.menu-about-card p{margin:0!important;color:#687a75!important;font-size:11px!important;line-height:1.75!important;white-space:pre-line;word-break:break-word}
.menu-reference-about-detail{background:linear-gradient(145deg,#fbfdfc,#f4f9f7)!important}.menu-reference-about-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.menu-reference-about-head>span{width:36px;height:36px;flex:none;border-radius:11px;background:#e4f2ee;color:#17685b;display:grid;place-items:center}.menu-reference-about-head svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-reference-about-head>div{display:grid;gap:1px}.menu-reference-about-head small{font-size:10px;color:#7b8a86}.menu-reference-about-head h3{margin:0!important;font-size:15px!important}.menu-reference-detail .menu-about-copy{margin:0;padding:12px 13px;border:1px solid #e1eae7;border-radius:11px;background:#fff;color:#536660!important;font-size:12.5px!important;line-height:1.9!important;white-space:pre-line;word-break:break-word}
.menu-display-dark_grid .menu-about-card,.menu-display-dark_visual_grid .menu-about-card{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.045)}.menu-display-dark_grid .menu-about-card-icon,.menu-display-dark_visual_grid .menu-about-card-icon{background:rgba(255,255,255,.08);color:#9ed5c7}.menu-display-dark_grid .menu-about-card h3,.menu-display-dark_visual_grid .menu-about-card h3{color:#f0f4f3}.menu-display-dark_grid .menu-about-card p,.menu-display-dark_visual_grid .menu-about-card p{color:#b5c1be!important}.menu-display-dark_grid .menu-reference-about-detail,.menu-display-dark_visual_grid .menu-reference-about-detail{background:#151515!important}.menu-display-dark_grid .menu-reference-detail .menu-about-copy,.menu-display-dark_visual_grid .menu-reference-detail .menu-about-copy{border-color:#2b2b2b;background:#1d1d1d;color:#c2c8c6!important}

/* MF_PLAN_LIMIT_MESSAGE_UX_V1 */
.plan-limit-message{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 15px;border:1px solid #ecd29a;border-radius:14px;background:#fff9ec;color:#654b1d;box-shadow:0 8px 24px rgba(100,75,29,.04)}
.plan-limit-message__icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#fff1cb;color:#8b651a;font-weight:900}
.plan-limit-message__body{display:grid;gap:3px;min-width:0;flex:1}.plan-limit-message__body strong{font-size:13px;color:#4c3917}.plan-limit-message__body span{font-size:11.5px;line-height:1.7;color:#725726}.plan-limit-message .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:700px){.plan-limit-message{align-items:stretch;flex-direction:column}.plan-limit-message__icon{display:none}.plan-limit-message .btn{width:100%}}