/* Local OFL fonts keep the menu's Vietnamese lettering available on LAN. */
@font-face{font-family:'Paytone One';src:url('assets/fonts/paytone-one.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Mali;src:url('assets/fonts/mali-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Mali;src:url('assets/fonts/mali-medium-italic.ttf') format('truetype');font-style:italic;font-weight:500;font-display:swap}
.menu-heading p{font-family:Mali,cursive;font-weight:500;font-size:15px;line-height:1.85;letter-spacing:0;max-width:330px}
.menu-grid{gap:20px}
.menu-item{--menu-ink:#b34b24;padding:31px 22px 25px;border-radius:150px 150px 16px 16px;text-align:left}
.menu-item.peach{--menu-ink:#285b46}
.menu-item.lilac{--menu-ink:#65412f}
.menu-item.pistachio{--menu-ink:#405e2c}
.menu-item>.menu-number{display:flex;align-items:center;justify-content:center;gap:8px;min-height:26px;font-size:8px;font-weight:600;line-height:1.4;letter-spacing:.9px;white-space:nowrap}
.menu-index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;height:23px;border:1px solid #204d3733;border-radius:50%;font-size:8px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.menu-visual{position:relative;display:block;width:100%;aspect-ratio:1;margin:17px 0 20px;flex-shrink:0}
.menu-visual .menu-dish,.menu-visual .ice-art{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto;display:block}
.menu-visual .menu-dish img{display:block;width:116%;height:116%;left:-8%;top:-8%;object-fit:contain}
.menu-photo{display:block;width:100%;height:100%}
.menu-visual>.menu-photo{position:absolute;inset:0}
.menu-photo img{display:block;width:100%;height:100%;object-fit:contain}
.dialog-menu-photo{display:block;width:100%;height:230px;margin:0 0 20px}
.menu-item>.menu-details{display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:0;font-size:inherit;line-height:normal}
.menu-title{display:block;min-height:2.4em;font-family:'Paytone One',sans-serif;font-size:clamp(28px,2.5vw,40px);font-weight:400;line-height:1.2;letter-spacing:-.7px;margin:0 0 18px;color:var(--menu-ink);text-shadow:2px 2px 0 #fff9edb3;transform:rotate(-3deg);transform-origin:left center}
.menu-title>span{display:block;width:max-content;max-width:100%}
.menu-title>span+span{margin-left:8px}
.menu-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px}
.menu-price{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;padding:5px 14px 8px;background:var(--cream);color:var(--menu-ink);border-radius:48% 43% 46% 40%;box-shadow:2px 3px 0 #204d371f;font-family:'Paytone One',sans-serif;font-size:33px;line-height:1.1;font-weight:400;letter-spacing:-1px;white-space:nowrap;transform:rotate(-7deg)}
.menu-price>span{font-family:Mali,cursive;font-style:italic;font-size:23px;font-weight:500;letter-spacing:-.5px;margin-left:1px}
.menu-item:nth-child(even) .menu-price{transform:rotate(5deg)}
.menu-open{display:inline-flex;width:35px;height:35px;flex:0 0 35px;align-items:center;justify-content:center;border:1px solid #204d3766;border-radius:50%;transition:background .2s,color .2s,transform .2s}
.menu-open svg,.original-menu svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.menu-item:hover .menu-open,.menu-item:focus-visible .menu-open{background:var(--green);color:var(--cream);transform:rotate(5deg)}
.menu-note{font-size:11px;line-height:1.8;opacity:.8;margin:29px 0 13px;letter-spacing:0}
.original-menu{display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;font-weight:600;padding:5px 0 7px}
.original-menu svg{width:12px;height:12px}
#product-dialog h2{font-family:'Paytone One',sans-serif;font-weight:400;line-height:1.25;color:var(--orange)}
#product-dialog .dialog-price{font-family:'Paytone One',sans-serif;font-weight:400;font-size:27px;letter-spacing:-.7px}
#product-dialog p{font-family:Mali,cursive;font-weight:500;font-size:15px;line-height:1.85;letter-spacing:0}
@media(min-width:701px) and (max-width:1050px){.menu-grid{gap:14px}.menu-item{padding:28px 14px 23px}.menu-item>.menu-number{gap:5px;font-size:6.5px;letter-spacing:.4px}.menu-index{flex-basis:20px;height:20px;font-size:7px}.menu-title{font-size:25px;letter-spacing:-.5px}.menu-price{font-size:28px;padding:5px 11px 8px}.menu-price>span{font-size:20px}.menu-open{width:29px;height:29px;flex-basis:29px}}
@media(max-width:700px){
  .menu-heading p{font-size:13px;line-height:1.85;margin-top:20px}
  .menu-grid{gap:18px 12px}
  .menu-item{padding:27px 14px 22px;border-radius:110px 110px 13px 13px}
  .menu-item>.menu-number{gap:6px;font-size:8px;letter-spacing:.4px;min-height:23px}
  .menu-index{flex-basis:21px;height:21px;font-size:8px}
  .menu-visual{margin:15px 0 18px}
  .menu-title{font-size:clamp(24px,6.5vw,33px);letter-spacing:-.7px;line-height:1.2;margin-bottom:14px}
  .menu-title>span+span{margin-left:5px}
  .menu-footer{margin-top:auto;gap:8px;padding-top:3px}
  .menu-price{font-size:29px;padding:5px 11px 8px}
  .menu-price>span{font-size:20px}
  .menu-open{width:29px;height:29px;flex-basis:29px}
  .menu-open svg{width:13px;height:13px}
  .menu-note{font-size:10px;max-width:260px;margin:26px auto 12px}
  .original-menu{font-size:11px}
}
@media(max-width:360px){.menu-item{padding-left:11px;padding-right:11px}.menu-item>.menu-number{font-size:6px;gap:4px;letter-spacing:.25px}.menu-index{flex-basis:18px;height:18px;font-size:6.5px}.menu-title{font-size:21px;letter-spacing:-.6px}.menu-price{font-size:25px;padding:5px 10px 7px}.menu-price>span{font-size:18px}.menu-open{width:25px;height:25px;flex-basis:25px}}
