/* Food Court favourites — shared by vendor profiles and the Food Court leaderboard. */
.omvh-favourite-panel{position:relative;margin-top:20px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 58%,rgba(255,255,255,.14));border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 9%,#080a0f),color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 5%,#080a0f));box-shadow:inset 0 1px rgba(255,255,255,.035),0 16px 40px rgba(0,0,0,.2)}
.omvh-favourite-panel__signal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.omvh-favourite-panel__signal span,.omvh-favourite-panel__signal b{font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.omvh-favourite-panel__signal span{color:var(--vendor-accent,var(--om-theme-primary,#ff2a55))}.omvh-favourite-panel__signal b{color:var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff))}
.omvh-favourite-panel>strong{display:block;color:var(--omvd-heading,#fff);font-size:15px;line-height:1.25}.omvh-favourite-panel__actions{display:flex;align-items:center;gap:12px;margin-top:13px}.omvh-favourite-panel__actions button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--vendor-accent,var(--om-theme-primary,#ff2a55));border-radius:9px;background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 12%,transparent);color:#fff;cursor:pointer;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;transition:.2s ease}.omvh-favourite-panel__actions button:hover:not(:disabled){transform:translateY(-2px);background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 22%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 22%,transparent)}.omvh-favourite-panel__actions button:disabled{cursor:default;opacity:.62}.omvh-favourite-panel__actions button.is-voted{border-color:var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff));background:color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 14%,transparent)}.omvh-favourite-panel__actions button.is-loading{opacity:.7}.omvh-favourite-panel__actions small{color:var(--omvd-text,#aeb7c6);font-size:9px;line-height:1.35}.omvh-favourite-panel__actions small[data-state=success]{color:#87ff9d}.omvh-favourite-panel__actions small[data-state=error]{color:#ff8b9a}
.omvh-vote-gate-open{overflow:hidden}.omvh-human-gate{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px}.omvh-human-gate[hidden]{display:none}.omvh-human-gate__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}.omvh-human-gate__panel{position:relative;width:min(470px,100%);padding:28px;border:1px solid color-mix(in srgb,var(--om-theme-secondary,#18e6ff) 42%,rgba(255,255,255,.12));border-radius:20px;background:radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--om-theme-primary,#ff2a55) 15%,transparent),transparent 34%),#090b12;color:var(--om-theme-text,#fff);box-shadow:0 34px 90px rgba(0,0,0,.6),0 0 45px color-mix(in srgb,var(--om-theme-primary,#ff2a55) 14%,transparent)}.omvh-human-gate__close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.03);color:#fff;font-size:22px;cursor:pointer}.omvh-human-gate__panel>span{display:block;color:var(--om-theme-secondary,#18e6ff);font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em}.omvh-human-gate__panel h3{margin:13px 0 8px;font-size:30px;line-height:1}.omvh-human-gate__panel p{margin:0;color:var(--om-theme-muted,#a6afbf);font-size:13px;line-height:1.55}.omvh-human-gate__turnstile{min-height:65px;margin-top:20px}.omvh-human-gate__panel>small{display:block;margin-top:13px;color:var(--om-theme-muted,#a6afbf);font-size:9px}
@media(max-width:560px){.omvh-favourite-panel__actions{align-items:stretch;flex-direction:column}.omvh-favourite-panel__actions button{justify-content:center;width:100%}.omvh-human-gate__panel{padding:24px 18px}}
/* v1.8.2 — visible favourite controls inside every food/drink menu card. */
.omvh-menu-vote{display:flex;align-items:center;justify-content:flex-end;min-width:0}.omvh-menu-vote button{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:30px!important;padding:0 9px!important;border:1px solid color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 48%,var(--omvd-border,#26303d))!important;border-radius:7px!important;background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 9%,rgba(255,255,255,.02))!important;color:var(--omvd-heading,#fff)!important;cursor:pointer!important;box-shadow:none!important;font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.08em!important;white-space:nowrap!important;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important}.omvh-menu-vote button span{color:var(--vendor-accent,var(--om-theme-primary,#ff2a55));font-size:11px}.omvh-menu-vote button em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 16%,transparent);color:var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff));font-style:normal;font-size:7px}.omvh-menu-vote button:hover:not(:disabled),.omvh-menu-vote button:focus-visible{transform:translateY(-1px);border-color:var(--vendor-accent,var(--om-theme-primary,#ff2a55))!important;background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 18%,transparent)!important;box-shadow:0 0 18px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 18%,transparent)!important;outline:none}.omvh-menu-vote button.is-voted{border-color:var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff))!important;background:color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 12%,transparent)!important}.omvh-menu-vote button:disabled{cursor:default!important;opacity:.72}
.omvh-vote-toast{position:fixed;z-index:2147483100;left:50%;bottom:24px;max-width:min(520px,calc(100vw - 28px));padding:12px 15px;border:1px solid color-mix(in srgb,var(--om-theme-primary,#ff2a55) 48%,rgba(255,255,255,.14));border-radius:11px;background:#090c12;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 28px color-mix(in srgb,var(--om-theme-primary,#ff2a55) 18%,transparent);font-size:11px;font-weight:800;line-height:1.4;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.2s ease}.omvh-vote-toast.is-visible{opacity:1;transform:translate(-50%,0)}.omvh-vote-toast[data-state=success]{border-color:#5eea8a}.omvh-vote-toast[data-state=error]{border-color:#ff6678}
@media(max-width:560px){.omvh-menu-vote,.omvh-menu-vote button{width:100%}.omvh-menu-vote button{justify-content:center!important}}


/* v1.8.5 — safe Food Favourite contrast on dark vendor palettes. */
.omvd-vendor-page,.omfc-root{
  --omvh-vote-primary-readable:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff3158)) 56%,#fff 44%);
  --omvh-vote-secondary-readable:color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#22e7ff)) 56%,#fff 44%);
}
.omvh-favourite-panel__signal span{
  color:var(--omvh-vote-primary-readable,#ffc0cb)!important;
  text-shadow:0 0 10px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff3158)) 42%,transparent);
}
.omvh-favourite-panel__signal b{
  color:var(--omvh-vote-secondary-readable,#bff8ff)!important;
  text-shadow:0 0 10px color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#22e7ff)) 42%,transparent);
}
.omvh-favourite-panel{
  box-shadow:inset 0 0 24px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff3158)) 6%,transparent),0 18px 46px rgba(0,0,0,.26),0 0 24px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff3158)) 10%,transparent)!important;
}
.omvh-menu-vote button span{color:var(--omvh-vote-primary-readable,#ffc0cb)!important;text-shadow:0 0 8px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff3158)) 45%,transparent)}
.omvh-menu-vote button em{color:var(--omvh-vote-secondary-readable,#bff8ff)!important}
.omvh-human-gate__panel>span{color:var(--om-theme-secondary-readable,var(--omvh-vote-secondary-readable,#bff8ff))!important}

/* 1.9.2 — Fair voting protected badge */
.omvh-fair-badge{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 46%,rgba(255,255,255,.14));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 10%,#090b11),color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 6%,#090b11));box-shadow:0 14px 30px rgba(0,0,0,.22),0 0 24px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 10%,transparent),inset 0 1px rgba(255,255,255,.04)}
.omvh-fair-badge__headline{display:flex;align-items:center;gap:9px}.omvh-fair-badge__icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;border:1px solid color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 52%,rgba(255,255,255,.12));background:color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 14%,rgba(255,255,255,.02));box-shadow:0 0 18px color-mix(in srgb,var(--vendor-accent,var(--om-theme-primary,#ff2a55)) 20%,transparent),inset 0 0 14px color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 8%,transparent)}
.omvh-fair-badge__icon svg{width:16px;height:16px;fill:var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff));filter:drop-shadow(0 0 8px color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 42%,transparent))}
.omvh-fair-badge__headline b{color:#fff;font:950 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 12px color-mix(in srgb,var(--vendor-accent-2,var(--om-theme-secondary,#18e6ff)) 46%,transparent)}
.omvh-fair-badge em{display:block;color:var(--vendor-accent);font:900 8px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase;text-shadow:0 0 8px color-mix(in srgb,var(--vendor-accent) 40%,transparent);font-style:normal}
