/* quanditu.com, generated pages use this file (see ../build_site.py).
   Palette follows the printed menu and logo: maroon + gold on warm cream. */
:root{
  /* Colors sampled from the shop itself (Oct 25, 2026 photos):
     teal-green leather booths + green trim, cream walls, mahogany chairs,
     black ceiling, and the sign's red "DÌ TƯ" / yellow "Quán". */
  --cream:#f7f1e5; --paper:#fffdf8; --sand:#efe6d4;
  --ink:#1c1a17; --ink-soft:#5f5850; --line:#e4dac8;
  --green:#1f4a44; --green-dark:#12302c; --green-tint:#e6efe9;
  --red:#b3262d; --red-dark:#8f1c22; --red-tint:#f8e7e5;
  --yellow:#e2b93b; --yellow-soft:#f6e7b8;
  --wood:#6b2e25;
  --maroon:var(--red); --maroon-dark:var(--red-dark); --maroon-tint:var(--red-tint);
  --gold:var(--yellow); --gold-soft:var(--yellow-soft);
  --radius:16px; --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(28,26,23,.06),0 2px 8px rgba(28,26,23,.06);
  --shadow-md:0 6px 24px rgba(28,26,23,.13);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%231f4a44' stroke-opacity='.05' stroke-width='1.1'%3E%3Cpath d='M32 8c5 9 10 14 24 24-14 10-19 15-24 24-5-9-10-14-24-24 14-10 19-15 24-24z'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M32 20v-6M32 44v6M20 32h-6M44 32h6'/%3E%3Cpath d='M0 10a10 10 0 0 0 10-10M54 0a10 10 0 0 0 10 10M64 54a10 10 0 0 0-10 10M10 64A10 10 0 0 0 0 54'/%3E%3C/g%3E%3C/svg%3E");background-size:64px 64px;color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5vw,3.6rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:600}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.eyebrow{display:inline-flex;align-items:flex-start;gap:8px;font-family:var(--serif);font-style:italic;font-size:1.02rem;font-weight:500;color:var(--green);margin-bottom:.5em}
.eyebrow::before{content:"";width:9px;height:9px;margin-top:.5em;transform:rotate(45deg);border:1.5px solid currentColor;flex:none}
.eyebrow--light{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:48px;padding:.7em 1.3em;border-radius:999px;font-weight:600;font-size:.98rem;text-decoration:none;border:2px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--maroon);color:#fff}
.btn-primary:hover{background:var(--maroon-dark)}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--green);color:var(--green)}
.btn-outline{background:transparent;color:var(--green);border-color:var(--green)}
.btn-outline:hover{background:var(--green);color:#fff}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:#ecc650}
.btn-call{background:var(--maroon);color:#fff;min-height:42px;padding:.5em 1.1em;font-size:.92rem}
.btn-call:hover{background:var(--maroon-dark)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0}

/* top bar + header */
.topbar{background:var(--green-dark);color:#e8efe9;font-size:.85rem}
.topbar .wrap{padding-top:8px;padding-bottom:8px;text-align:center}
.topbar b{color:#fff}
.topbar a{color:var(--yellow-soft);text-decoration:underline;text-underline-offset:2px}
.topbar .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#58c27d;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 3px rgba(88,194,125,.25)}
.topbar .sep{opacity:.5;margin:0 4px}
header.site{position:sticky;top:0;z-index:50;background:rgba(250,245,236,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:20px;min-height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:48px;height:48px;border-radius:50%;box-shadow:var(--shadow-sm)}
.brand-name{display:block;font-family:var(--serif);font-weight:700;font-size:1.3rem;line-height:1.1;color:var(--red)}
.brand-sub{display:block;font-size:.74rem;color:var(--ink-soft);letter-spacing:.02em}
.main-nav{display:flex;gap:4px}
.main-nav a{padding:.5em .9em;border-radius:999px;text-decoration:none;font-weight:500;color:var(--ink-soft)}
.main-nav a:hover{color:var(--green);background:var(--green-tint)}
.main-nav a[aria-current="page"]{color:var(--green);background:var(--green-tint);font-weight:600}
.header-right{display:flex;align-items:center;gap:12px}
.lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--paper)}
.lang-switch a{font-size:.78rem;font-weight:700;text-decoration:none;padding:.35em .65em;border-radius:999px;color:var(--ink-soft)}
.lang-switch a[aria-current="true"]{background:var(--green);color:#fff}
.lang-switch a:not([aria-current]):hover{color:var(--maroon)}

/* hero */
.hero{padding:56px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero h1{color:var(--ink)}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:36em}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.92rem;color:var(--ink-soft);padding-left:16px;position:relative}
.chips li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--yellow);transform:rotate(45deg)}
.chips{gap:6px 22px}
.hero-visual{position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:14px;align-items:end}
.hv-main,.hv-side{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}
.hv-main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hv-side{margin-bottom:-28px}
.hv-side img{width:100%;aspect-ratio:3/4;object-fit:cover}
.rating-badge{position:absolute;left:-18px;bottom:-22px;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:12px 16px;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center}
.rating-badge .big{grid-row:span 2;font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--green)}
.rating-badge .stars{color:var(--gold);letter-spacing:2px;font-size:.95rem}
.rating-badge .small{font-size:.78rem;color:var(--ink-soft)}

/* sections */
.section{padding:80px 0}
.section--paper{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:720px;margin:0 0 32px}
.section-head p{color:var(--ink-soft)}

/* dish cards */
.dish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}
.dish-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.dish-card:hover{box-shadow:var(--shadow-md)}
.dish-card .ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dish-card .body{padding:16px 18px 18px}
.dish-card h3{margin-bottom:.1em}
.dish-card .sub{font-size:.85rem;color:var(--ink-soft);font-style:italic;margin-bottom:10px}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-top:1px dashed var(--line);font-size:.9rem;color:var(--ink-soft)}
.price-row b{font-size:1.05rem;color:var(--wood)}

/* split (rice counter) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split-copy p{color:var(--ink-soft);font-size:1.05rem}
.tiers{list-style:none;padding:0;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream);overflow:hidden}
.tiers li{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid var(--line)}
.tiers li:first-child{border-top:0}
.tiers li b{color:var(--wood);white-space:nowrap}

/* late night */
.section--night{background-color:var(--green-dark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e2b93b' stroke-opacity='.06' stroke-width='1.1'%3E%3Cpath d='M32 8c5 9 10 14 24 24-14 10-19 15-24 24-5-9-10-14-24-24 14-10 19-15 24-24z'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M32 20v-6M32 44v6M20 32h-6M44 32h6'/%3E%3Cpath d='M0 10a10 10 0 0 0 10-10M54 0a10 10 0 0 0 10 10M64 54a10 10 0 0 0-10 10M10 64A10 10 0 0 0 0 54'/%3E%3C/g%3E%3C/svg%3E");background-size:64px 64px;color:#eef2ec}
.section--night h2{color:#fff}
.section--night p{color:#d5ddd6;font-size:1.05rem;max-width:34em}
.night-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.night-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.night-ph{border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.night-ph img{width:100%;aspect-ratio:3/4;object-fit:cover}
.night-ph:nth-child(2){transform:translateY(-18px)}

/* gallery */
.gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:240px 240px;gap:14px}
.gallery>div{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery>div:hover img{transform:scale(1.03)}
.g-a{grid-row:span 2}
.g-b{grid-column:span 2}
.gallery--3{grid-template-columns:repeat(3,1fr);grid-template-rows:280px}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{margin:0;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.review .stars{color:var(--gold);letter-spacing:2px;margin-bottom:8px}
.review blockquote{margin:0 0 14px;font-size:.98rem;line-height:1.6;flex:1}
.review figcaption{font-weight:700;font-size:.92rem}
.review figcaption span{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft)}
.reviews{grid-template-columns:repeat(6,1fr)}
.reviews .review{grid-column:span 2}
.reviews .review:nth-child(4),.reviews .review:nth-child(5){grid-column:span 3}

/* visit */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.visit-info{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}
.visit-photo{border-radius:var(--radius-sm);overflow:hidden;margin-bottom:16px}
.visit-photo img{width:100%;aspect-ratio:5/2;object-fit:cover}
.visit-info dl{margin:0}
.visit-info dl>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.visit-info dt{font-weight:600;color:var(--ink-soft);font-size:.92rem}
.visit-info dd{margin:0;font-weight:600}
.visit-info dd a{color:var(--green);text-decoration:none}
.visit-info dd a:hover{text-decoration:underline}
.visit-info small{display:block;font-weight:400;color:var(--ink-soft);font-size:.86rem;margin-top:2px}
.visit-info .ctas{margin:12px 0 0}
.map{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-link{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:.55em 1em;border-radius:999px;font-weight:600;font-size:.88rem;text-decoration:none;color:var(--green);box-shadow:var(--shadow-md)}

/* menu page */
.page-hero{padding:48px 0 24px}
.page-hero p{color:var(--ink-soft);max-width:40em}

.tabnav{position:sticky;top:70px;z-index:40;background:rgba(250,245,236,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.tabnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.tabnav .wrap::-webkit-scrollbar{display:none}
.tabnav a{flex:none;padding:.45em .95em;border-radius:999px;border:1px solid var(--line);background:var(--paper);text-decoration:none;font-size:.88rem;font-weight:600;color:var(--ink-soft)}
.tabnav a:hover{border-color:var(--green);color:var(--green)}
.menu-wrap{padding-top:32px;padding-bottom:56px}
.menu-cat{scroll-margin-top:140px;margin-bottom:40px}
.menu-cat h2{display:flex;align-items:center;gap:12px;font-size:1.6rem;padding-bottom:10px;border-bottom:2px solid var(--green);margin-bottom:8px}
.menu-cat h3{font-size:1.05rem;color:var(--green);margin:18px 0 4px}
.letter{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--sans);font-size:.95rem;font-weight:700}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.items{list-style:none;padding:0;margin:0}
.item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.th{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--sand)}
.th img{width:100%;height:100%;object-fit:cover}
.th--empty{background:transparent}
.item--plain{grid-template-columns:1fr auto}
.menu-cat .dish-card h3{color:var(--ink);font-size:1.15rem;margin:0 0 .1em}
.nm b{display:block;font-weight:600}
.nm small{display:block;color:var(--ink-soft);font-size:.84rem}
.code{display:inline-block;font-size:.72rem;font-weight:700;color:var(--green);background:var(--green-tint);border-radius:6px;padding:1px 6px;margin-bottom:2px}
.pr{font-weight:700;color:var(--wood);white-space:nowrap}
.cat-note{color:var(--ink-soft);font-size:.9rem;margin-top:10px}
.menu-cat--rice,.menu-cat--night{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.rice-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:16px}
.rice-ph{border-radius:var(--radius-sm);overflow:hidden}
.rice-ph img{width:100%;aspect-ratio:16/9;object-fit:cover}
.menu-cat--night{background-color:var(--green-dark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e2b93b' stroke-opacity='.06' stroke-width='1.1'%3E%3Cpath d='M32 8c5 9 10 14 24 24-14 10-19 15-24 24-5-9-10-14-24-24 14-10 19-15 24-24z'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M32 20v-6M32 44v6M20 32h-6M44 32h6'/%3E%3Cpath d='M0 10a10 10 0 0 0 10-10M54 0a10 10 0 0 0 10 10M64 54a10 10 0 0 0-10 10M10 64A10 10 0 0 0 0 54'/%3E%3C/g%3E%3C/svg%3E");background-size:64px 64px;color:#eef2ec;border-color:var(--green-dark)}
.menu-cat--night h2{color:#fff;border-bottom-color:var(--gold)}
.menu-cat--night h3{color:var(--gold)}
.menu-cat--night .item{border-bottom-color:rgba(255,255,255,.12)}
.menu-cat--night .nm small,.menu-cat--night .cat-note{color:#b9c7bf}
.menu-cat--night .pr{color:var(--gold)}
.menu-cat--night .code{background:rgba(226,185,59,.18);color:var(--yellow)}
.night-hours{font-family:var(--sans);font-size:.8rem;font-weight:700;background:var(--gold);color:var(--ink);border-radius:999px;padding:.25em .7em}
.prices-note{text-align:center;color:var(--ink-soft);font-size:.9rem}

/* footer */
.site-footer{background:#141c1a;color:#cfd8d2;padding:56px 0 24px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:10px}
.footer-brand img{border-radius:50%}
.site-footer h4{color:#fff;font-size:.95rem;margin:0 0 12px}
.site-footer ul{list-style:none;margin:0 0 16px;padding:0}
.site-footer li{margin:0 0 8px}
.site-footer a{color:#eef2ec;text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.social{display:flex;gap:14px}
.social a{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.35em .9em;font-size:.86rem}
.lang-switch--footer{background:transparent;border-color:rgba(255,255,255,.2)}
.lang-switch--footer a{color:#d9cbbd}
.lang-switch--footer a[aria-current="true"]{background:#fff;color:var(--ink)}
.foot-bottom{display:flex;justify-content:center;text-align:center;gap:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:18px;font-size:.82rem;opacity:.75}

/* right-click menu (desktop) */
.ctx-menu{position:fixed;z-index:200;min-width:210px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:6px}
.ctx-menu a{display:block;padding:.55em .8em;border-radius:8px;text-decoration:none;font-size:.92rem}
.ctx-menu a:hover{background:var(--green-tint);color:var(--green)}

/* mobile action bar */
.action-bar{display:none}

@media (max-width:1023px){
  .main-nav{display:none}
  .btn-call{display:none}
  body{padding-bottom:72px}
  .action-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(36,26,22,.08);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
  .action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:60px;border-radius:12px;text-decoration:none;font-size:.78rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}
  .action-bar a svg{width:22px;height:22px;fill:currentColor;flex:none}
  .action-bar .ab-call{background:var(--maroon);color:#fff}
  .hero-grid,.split,.night-grid,.visit-grid{grid-template-columns:1fr}
  .dish-grid{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:repeat(2,1fr)}
  .reviews .review,.reviews .review:nth-child(4),.reviews .review:nth-child(5){grid-column:auto}
  .menu-cols{grid-template-columns:1fr}
  .tabnav{top:0}
}
@media (max-width:760px){
  .section{padding:56px 0}
  .hero{padding:32px 0 56px}
  .topbar .sep{display:none}
  .topbar .since{display:block;margin-top:2px}
  .topbar a{display:block}
  .brand-sub{display:none}
  .hero-visual{grid-template-columns:1.4fr 1fr}
  .rating-badge{left:8px;bottom:-26px}
  .dish-grid{gap:12px}
  .dish-card .body{padding:12px}
  .dish-card h3{font-size:1rem}
  .reviews{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px 150px}
  .g-a{grid-column:span 2;grid-row:auto}
  .g-b{grid-column:span 2}
  .gallery--3{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:220px}
  .visit-info dl>div{grid-template-columns:1fr;gap:2px}
  .map{min-height:320px}
  .rice-head{grid-template-columns:1fr}
  .item{grid-template-columns:56px 1fr auto;gap:12px}
  .item--plain{grid-template-columns:1fr auto}
  .th{width:56px;height:56px}
  .footer-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column}
  .ctas .btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

.btn svg,.btn-call svg{width:18px;height:18px;fill:currentColor}
.center{text-align:left}

/* legacy page (old Wilcrest location) */
.legacy-link{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.9}
.legacy-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;margin-bottom:32px}
.legacy-copy p{font-size:1.08rem;color:var(--ink-soft);max-width:36em}
.legacy figure{margin:0}
.legacy figure img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-sm);filter:saturate(.85)}
.legacy figcaption{font-size:.86rem;color:var(--ink-soft);font-style:italic;margin-top:8px}
.legacy-notice img{max-height:520px;object-fit:cover}
.legacy-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.legacy-photos img{aspect-ratio:16/9;object-fit:cover}
@media (max-width:760px){.legacy-grid,.legacy-photos{grid-template-columns:1fr}}
.legacy-wide{margin-top:28px!important}
.legacy-wide img{aspect-ratio:21/9;object-fit:cover}
.ctx-menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.ctx-menu a[aria-current="true"]{font-weight:700;color:var(--green)}
.ctx-menu a[aria-current="true"]::after{content:" \2713"}
.btn-night{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}
.btn-night span{color:var(--yellow);font-weight:700;margin-left:.35em}
.btn-night:hover{filter:brightness(1.15)}
.more-reviews{margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}
.more-reviews summary{cursor:pointer;padding:16px 22px;font-weight:700;color:var(--green);list-style:none}
.more-reviews summary::-webkit-details-marker{display:none}
.more-reviews summary::after{content:" +";color:var(--gold)}
.more-reviews[open] summary::after{content:" −"}
.more-reviews ul{list-style:none;margin:0;padding:0 22px 18px;columns:2 320px;column-gap:28px}
.more-reviews li{break-inside:avoid;padding:12px 0;border-top:1px solid var(--line)}
.more-reviews .stars{display:block;color:var(--gold);letter-spacing:2px;font-size:.8rem}
.more-reviews q{display:block;margin:4px 0;line-height:1.55;font-size:.95rem}
.more-reviews q::before{content:"“"}.more-reviews q::after{content:"”"}
.more-reviews small{color:var(--ink-soft);font-size:.8rem}
/* menu page, printed-menu layout (Oct 27, 2026) */
.menu-cols{display:block;columns:2;column-gap:56px}
.menu-cols>.menu-cat{break-inside:avoid;display:inline-block;width:100%;margin-bottom:44px}
.cat-ban{border-radius:var(--radius-sm);overflow:hidden;margin-bottom:14px;aspect-ratio:16/5;background:var(--sand)}
.cat-ban img{width:100%;height:100%;object-fit:cover;display:block}
.mi{padding:11px 0;border-bottom:1px dashed var(--line)}
.mi-top{display:flex;align-items:baseline;gap:8px}
.mi-top b{font-weight:600;font-size:1.02rem}
.mi .code{flex:none;margin:0;min-width:2.3em;text-align:center}
.mi .dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px);min-width:16px}
.mi small{display:block;color:var(--ink-soft);font-size:.86rem;margin-top:2px;padding-left:calc(2.3em + 8px)}
.mi--nocode small{padding-left:0}
.items .mi:last-child{border-bottom:0}
.rice-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}
.rice-grid .rice-ph{position:sticky;top:120px}
.rice-grid .rice-ph img{aspect-ratio:4/5}
.menu-cat--rice h2,.menu-cat--night h2{margin-top:0}
.addons{list-style:none;margin:12px 0 0;padding:0}
.addons li{padding:4px 0;font-size:.92rem;color:#b9c7bf}
.menu-cat--night .mi{border-bottom-color:rgba(255,255,255,.12)}
.menu-cat--night .mi .dots{border-bottom-color:rgba(255,255,255,.25)}
.menu-cat--night .mi small{color:#b9c7bf}
.menu-cat--night .menu-cols{display:grid;grid-template-columns:1fr 1fr;columns:auto;column-gap:48px}
.chips{flex-direction:column;gap:6px}
@media (max-width:760px){
  .menu-cols{columns:1}
  .menu-cat--night .menu-cols{grid-template-columns:1fr}
  .rice-grid{grid-template-columns:1fr}
  .rice-grid .rice-ph{position:static;order:-1}
  .rice-grid .rice-ph img{aspect-ratio:16/9}
}
.site-footer a svg,dd a svg,.more-contact a svg{width:1em;height:1em;fill:currentColor;vertical-align:-.12em;margin-right:.4em}
.btn-ghost svg[viewBox] path,.btn-outline svg path{fill:currentColor}
/* compact drinks + rice (Oct 27, 2026) */
.menu-cat--wide{margin-bottom:44px}
.menu-cat--wide .cat-ban{aspect-ratio:16/3.2}
.menu-cat--wide .items{display:grid;grid-template-columns:repeat(3,1fr);column-gap:40px}
.menu-cat--wide .items .mi:last-child{border-bottom:1px dashed var(--line)}
.rice-grid{grid-template-columns:1.5fr .7fr;gap:28px}
.rice-grid .rice-ph img{aspect-ratio:3/4}
.rice-grid .tiers{display:grid;grid-template-columns:1fr 1fr;background:none;border:0;gap:10px;overflow:visible}
.rice-grid .tiers li{flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream);padding:12px 14px}
.rice-grid .tiers li:first-child{border-top:1px solid var(--line)}
.rice-grid .tiers li b:last-child{font-size:1.15rem}
.menu-cat--rice .items{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.menu-cat--rice .items .mi:last-child{border-bottom:1px dashed var(--line)}
@media (max-width:1023px){.menu-cat--wide .items{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .menu-cat--wide .items,.menu-cat--rice .items,.rice-grid .tiers{grid-template-columns:1fr}
  .menu-cat--wide .cat-ban{aspect-ratio:16/5}
}
.menu-cols .cat-ban{aspect-ratio:8/5}
.menu-cat--wide .cat-ban{aspect-ratio:16/5}
.menu-wrap>.menu-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;columns:auto;align-items:start}
.menu-wrap>.menu-cols>.menu-cat{display:block}
.menu-cat--wide .cat-ban{aspect-ratio:16/3.6}
@media (max-width:760px){.menu-wrap>.menu-cols{grid-template-columns:1fr}.menu-cat--wide .cat-ban{aspect-ratio:16/6}}
/* menu rows with 2x thumbnails (Oct 27, 2026) */
.menu-wrap>.menu-cols:empty{display:none}
.menu-cat--wide .items,.menu-cat--rice .items{grid-template-columns:1fr 1fr;column-gap:40px}
.mi{display:grid;grid-template-columns:128px 1fr;gap:18px;align-items:center;padding:14px 0}
.mi--plain{grid-template-columns:1fr}
.mi .th{width:128px;height:128px;border-radius:14px;overflow:hidden;background:var(--sand)}
.mi .th img{width:100%;height:100%;object-fit:cover;display:block}
.mi .th--code{display:grid;place-items:center;background:var(--cream);border:1px solid var(--line);color:var(--line);font-weight:700;font-size:1.6rem;letter-spacing:.02em}
.mi small{padding-left:calc(2.3em + 8px)}
.mi--plain small{padding-left:0}
.menu-cat--night .mi .th--code{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.25)}
@media (max-width:1023px){.menu-cat--wide .items{grid-template-columns:1fr}}
@media (max-width:760px){
  .mi{grid-template-columns:88px 1fr;gap:14px}
  .mi .th{width:88px;height:88px;border-radius:12px}
  .mi .th--code{font-size:1.2rem}
  .menu-cat--rice .items{grid-template-columns:1fr}
}
.mi--nocode small{padding-left:0}
.to-top{position:fixed;right:20px;bottom:24px;z-index:55;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.to-top svg{width:22px;height:22px;fill:currentColor}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--green-dark)}
@media (max-width:1023px){.to-top{bottom:calc(84px + env(safe-area-inset-bottom));right:14px;width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.to-top{transition:none}}
.addon-note{display:inline-block;margin-top:14px;padding:10px 16px;border-radius:999px;background:var(--yellow-soft);color:var(--ink);font-size:1rem;font-weight:600}
.rice-grid .tiers>li{display:block;padding:14px 16px}
.tier-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.tier-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:700;font-size:.9rem}
.tier-head b{color:var(--wood);font-size:1.2rem}
.tier-parts{list-style:none;margin:0;padding:0}
.tier-parts li{position:relative;padding:3px 0 3px 16px;font-size:.98rem}
.tier-parts li::before{content:"";position:absolute;left:2px;top:.75em;width:6px;height:6px;background:var(--yellow);transform:rotate(45deg)}
.rice-grid .tiers .tier-parts li,.rice-grid .tiers .tier-parts li:first-child{display:block;border:0;background:none;border-radius:0;padding:3px 0 3px 16px}
.rv-phs{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.rv-ph{display:block;width:96px;height:96px;border-radius:10px;overflow:hidden;background:var(--sand)}
.rv-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.rv-ph:hover img{transform:scale(1.05)}
.more-reviews .rv-phs{margin:6px 0}

/* mobile header nav toggle */
.menu-toggle{display:none;background:none;border:0;padding:8px;line-height:0;cursor:pointer;color:inherit}
.menu-toggle svg{width:24px;height:24px}
.mobile-nav{display:none}
@media (max-width:1023px){
  .menu-toggle{display:inline-flex;align-items:center}
  .mobile-nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;background:#fff;border-top:1px solid #eee;box-shadow:0 8px 16px rgba(0,0,0,.08);padding:8px 16px;gap:2px;z-index:50}
  .mobile-nav:not(.show){display:none}
  .mobile-nav.show{display:flex}
  .mobile-nav a{padding:12px 4px;border-bottom:1px solid #f3f3f3;color:inherit;text-decoration:none}
  .mobile-nav a:last-child{border-bottom:0}
  header.site{position:relative}
}

/* addon list (category B: cháo add-ons), stacked lines instead of one crammed row */
.addon-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.addon-list li{background:var(--yellow-soft);color:var(--ink);font-size:.92rem;font-weight:600;padding:8px 14px;border-radius:999px;width:fit-content}

/* cơm chỉ: gallery of actual daily-tray dish photos chị Thy sent */
.tray-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:14px 10px;margin-top:20px}
.tray-gallery figure{margin:0}
.tray-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;box-shadow:var(--shadow-sm);display:block}
.tray-gallery figcaption{margin-top:6px;font-size:.8rem;color:var(--ink-soft);text-align:center;line-height:1.25}
@media (max-width:760px){.tray-gallery{grid-template-columns:repeat(3,1fr);gap:12px 8px}}

/* lightbox: click a review/tray photo to view full size with prev/next, not a raw-file open */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(18,16,14,.92);display:flex;align-items:center;justify-content:center;padding:40px}
.lightbox[hidden]{display:none}
.lb-img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb-close,.lb-prev,.lb-next{position:fixed;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.22)}
.lb-close{top:16px;right:16px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.lightbox{padding:16px}.lb-prev{left:6px}.lb-next{right:6px}.lb-close{top:8px;right:8px}}
