/* Viet Hoa menu page: one simple list going down, like their printed menu (Leo, 18 Oct 2026).
   Thin Albert Sans category names like the logo's "Viet Hoa", their marble photo at the top of each part,
   hairline rows, prices lined up, and a small square + in the logo blue. */
.menu-head{padding-bottom:var(--s6);background:var(--ink);color:#fff}
.menu-head h1{font-size:clamp(48px,9vw,88px);font-weight:300;letter-spacing:-.025em}
.menu-head p{margin-top:var(--s4);font-size:18px;color:#C9D3DE}
.menu-head .act{margin-top:var(--s3)}
.menu-head .act a{color:#fff;font-weight:600}
.jump-bar{position:sticky;top:var(--head-h,68px);z-index:15;background:var(--powder)}
.jump{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;min-height:50px;align-items:stretch}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:none;display:flex;align-items:center;padding:0 14px;text-decoration:none;font-weight:500;font-size:15px;color:var(--ink);border-bottom:2px solid transparent}
.jump a:first-child{padding-left:0}
.jump a:hover,.jump a[aria-current]{border-bottom-color:var(--accent);color:var(--accent)}
.menu{padding-top:var(--s6)}
.menu .wrap{max-width:820px;display:grid;gap:12px}
.msearch{position:relative;display:block}
.msearch input{width:100%;min-height:50px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:12px 4px;font:400 17px var(--body);color:var(--ink)}
.msearch input:focus{outline:none;border-bottom:2px solid var(--accent)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#mcount{font-size:14px;color:var(--muted)}
#menu{display:grid;gap:56px;margin-top:12px}
.mcat{scroll-margin-top:130px}
.mcat h2,.mcat h3{font-family:var(--display);font-weight:300;font-size:clamp(36px,6vw,52px);letter-spacing:-.02em;margin:0;padding:0;border:0}
.mfig{margin:16px 0 0;max-width:600px}
.mph{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.mnote{color:var(--muted);font-size:16px;margin:12px 0 0}
.mlist{list-style:none;margin:8px 0 0;padding:0}
.mlist li{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.mlist li:last-child{border-bottom:0}
.mlist li>div{flex:1;min-width:0}
.mlist b{font-weight:600;font-size:17px}
.idesc{display:block;font-size:14.5px;line-height:1.45;color:var(--muted);margin-top:3px}
.sz{font-size:13px;color:var(--muted);font-weight:500}
.dots{display:none}
.mlist .p{font:500 18px/1 var(--body);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.mlist .p.ask,.mlist .p.na{font-size:14px;font-weight:600;color:var(--muted)}
.mnone{padding:24px;background:var(--powder);text-align:center}
.menu .small{margin-top:24px}
/* Add: a small square + in the logo blue (Leo, 18 Oct 2026). 34px to see, 44px to tap. */
.o-ctl{margin-left:0}
.mlist .o-add{width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:0;background:var(--accent);color:#fff;font-size:0;position:relative;flex:none;cursor:pointer}
.mlist .o-add::before{content:"";position:absolute;inset:0;margin:auto;width:13px;height:13px;background:linear-gradient(#fff,#fff) center/100% 2px no-repeat,linear-gradient(#fff,#fff) center/2px 100% no-repeat}
.mlist .o-add::after{content:"";position:absolute;inset:-5px}
.mlist .o-add:hover{background:#01569B}
.o-q{width:34px;height:34px;border-radius:0;border:1.5px solid var(--accent);color:var(--accent);position:relative}
.o-q::after{content:"";position:absolute;inset:-5px}
.o-cnt,.o-n{font-weight:600}
:root{--o-accent:#0267B9;--o-on-accent:#fff;--o-ink:#10243A;--o-muted:#4A5A6C;--o-bg:#fff;--o-line:#DCE3EB;--o-font:"Albert Sans",system-ui,sans-serif}
.o-bar>button,.o-bar-b,.o-sheet,.o-f select,.o-f textarea,.o-f input,.o-pay,.o-x,.o-back,.o-opt,.o-link,.o-q{border-radius:0!important}
.o-toast{border-radius:0!important;background:var(--ink)!important}
.iopts{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
