/* Shared styles for the static info pages (/menu, /pho, /banh-mi, /vegetarian, /visit).
   Base, button, header and footer rules are copied from index.html so the look matches. */
:root{
  --jade:#0E4A37;
  --jade-2:#135C45;
  --leaf:#1F7A55;
  --basil:#3FA06E;
  --mint:#E6F1E9;
  --cream:#FBF7EF;
  --paper:#FFFDF8;
  --chili:#D62F2F;
  --chili-dk:#B01F24;
  --gold:#F2C14E;
  --ink:#10231B;
  --muted:#5B6B63;
  --line:#DCE6DF;
  --radius:18px;
  --shadow:0 10px 30px -12px rgba(14,74,55,.35);
  --gutter:16px;
  --maxw:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.55 "Be Vietnam Pro",system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.1;margin:0;letter-spacing:-.01em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:0;font-weight:700;font-size:16px;text-decoration:none;transition:transform .15s ease, box-shadow .2s ease, background .2s}
.btn:active{transform:scale(.97)}
.btn-red{background:var(--chili);color:#fff;box-shadow:0 10px 24px -10px rgba(214,47,47,.8)}
.btn-red:hover{background:var(--chili-dk)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.btn-green{background:var(--jade);color:#fff}

/* announce + header */
.announce{background:var(--chili);color:#fff;font-size:13.5px;font-weight:600;text-align:center;padding:8px var(--gutter)}
.announce a{color:#fff;text-underline-offset:3px;display:inline-block;padding:8px 6px;margin:-8px 0}
header.top{position:sticky;top:0;z-index:40;background:rgba(14,74,55,.96);backdrop-filter:saturate(1.4) blur(8px);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo{height:42px;width:auto;display:block}
.nav{display:flex;gap:26px;font-weight:600;font-size:15px}
.nav a{text-decoration:none;opacity:.88}
.nav a:hover{opacity:1;color:var(--gold)}
.top .btn{min-height:42px;padding:0 18px;font-size:15px}
@media (max-width:860px){.nav{display:none}}

/* page hero */
.phero{background:linear-gradient(180deg,#051A10 0%,#08281B 55%,var(--jade) 100%);color:#fff;padding:28px 0 40px}
.phero .crumb{margin:0 0 14px;font-size:13.5px;color:#b9d2c5}
.phero .crumb a{color:#dcebe2}
.phero h1{font-size:clamp(30px,6.4vw,52px);font-weight:800;margin-top:12px;max-width:20ch}
.phero .lead{font-size:clamp(16px,2vw,19px);color:#dcebe2;max-width:52ch;margin:14px 0 22px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}

/* body */
.pbody{padding-top:20px;padding-bottom:8px}
.more{font-size:15px;font-weight:600;color:var(--muted);margin:6px 0 18px}
.more a{display:inline-block;padding:10px 4px;color:var(--jade);text-underline-offset:3px}
.more a[aria-current]{color:var(--chili);text-decoration:none}
.photo{margin:0 0 24px}
.photo img{width:100%;max-width:640px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.msec{margin:0 0 36px;scroll-margin-top:76px}
.msec h2{font-size:clamp(26px,5vw,38px);font-weight:800;color:var(--jade)}
.msec h2 small{display:block;font:600 15px "Be Vietnam Pro",system-ui,sans-serif;color:var(--muted);letter-spacing:0;margin-top:4px}
.msec p{max-width:70ch}
.msec a{color:var(--jade);text-underline-offset:3px;font-weight:600}
.sdesc{color:var(--muted);margin:8px 0 0}
.h3s{font-size:22px;margin:22px 0 6px;color:var(--jade)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.jump a{text-decoration:none;font-weight:600;font-size:14.5px;background:var(--mint);color:var(--jade);padding:10px 14px;border-radius:999px}
.dishes{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
@media (min-width:860px){.dishes{grid-template-columns:1fr 1fr}}
.dish{display:flex;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.dish img{width:88px;height:88px;flex:none;border-radius:12px;object-fit:cover}
.dtxt{min-width:0;flex:1}
.dish h3{font-size:19px;font-weight:800}
.dish h3 small{font:600 14px "Be Vietnam Pro",system-ui,sans-serif;color:var(--muted);letter-spacing:0;margin-left:4px}
.dish p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.dish p.price{color:var(--ink);font-weight:700;font-size:15.5px;margin-top:6px}
.price span{display:inline-block;margin-right:12px}
.badge-veg{display:inline-block;margin-top:4px;background:#E8F3EC;color:var(--jade);border:1px solid #BFDCCB;border-radius:999px;font-size:12px;font-weight:700;padding:2px 10px}
.extras{margin:14px 0 0;font-size:14.5px;color:var(--ink)}
.addons{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:8px;max-width:520px}
.addons li{display:flex;justify-content:space-between;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.callout{background:#E8F3EC;border:1px solid #BFDCCB;border-radius:var(--radius);padding:16px 18px;margin:0 0 28px;max-width:70ch}
.fine{font-size:14px;color:var(--muted);max-width:70ch}
.tbl{border-collapse:collapse;width:100%;max-width:420px;margin-top:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);font-size:15.5px}
.tbl thead th{background:var(--mint);color:var(--jade)}
.tbl tbody th{font-weight:600}
.ctaband{background:var(--jade);color:#fff;border-radius:var(--radius);padding:28px 22px;text-align:center;margin:12px 0 20px}
.ctaband h2{font-size:30px;font-weight:800}
.ctaband p{margin:8px 0 18px;color:#dcebe2}

/* footer */
footer{background:var(--ink);color:#b9c9c0;padding:48px 0;margin-top:40px;font-size:14.5px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:#fff;display:inline-block;padding:10px 0}
