/* Shared styles for sub pages (menu, dish pages, wafu pasta) */
:root { --bg:#FFFFFF; --bg-alt:#F4F9FE; --text:#1A4A6E; --sub:#5A7A95; --brand:#3AABF0; --line:#D6E9F6; --cta:#4CAF50; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Figtree',sans-serif; line-height:1.65; }
a { color:var(--brand); }
img { max-width:100%; height:auto; display:block; }

.page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; max-width:960px; margin:0 auto; }
.page-header .logo img { width:140px; }
.page-nav { display:flex; align-items:center; gap:20px; }
.page-nav a { color:var(--text); text-decoration:none; font-weight:600; font-size:15px; }
.page-nav a:hover { color:var(--brand); }
.cta { background:var(--cta); color:#fff !important; text-decoration:none; font-weight:600; padding:10px 18px; border-radius:24px; white-space:nowrap; display:inline-block; }
@media (max-width:640px) { .page-nav .nav-text { display:none; } }

main { max-width:880px; margin:0 auto; padding:8px 16px 64px; }
.breadcrumb { font-size:14px; color:var(--sub); margin:8px 0 16px; }
.breadcrumb a { color:var(--sub); }
h1 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(28px,6vw,40px); line-height:1.2; margin:8px 0 8px; }
h2 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:21px; margin:32px 0 8px; }
.lead { color:var(--sub); font-size:18px; margin:0 0 24px; }
.eyebrow { font-family:'Montserrat',sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brand); font-size:14px; margin:0; }

/* Dish page */
.dish { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.dish-photo img { border-radius:16px; background:var(--bg-alt); }
.price { font-family:'Montserrat',sans-serif; font-weight:800; font-size:28px; margin:8px 0 16px; }
.facts { list-style:none; padding:0; margin:0 0 20px; border-top:1px solid var(--line); }
.facts li { padding:10px 0; border-bottom:1px solid var(--line); }
.facts strong { display:inline-block; min-width:110px; }
.note { background:var(--bg-alt); border-radius:12px; padding:14px 16px; font-size:15px; color:var(--sub); }
@media (max-width:720px) { .dish { grid-template-columns:1fr; gap:20px; } }

/* Menu grid */
.dish-grid { list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.dish-grid a { display:block; text-decoration:none; color:var(--text); border:1px solid var(--line); border-radius:16px; overflow:hidden; height:100%; }
.dish-grid a:hover { border-color:var(--brand); }
.dish-grid img { aspect-ratio:1/1; object-fit:cover; width:100%; background:var(--bg-alt); }
.dish-grid .card-body { padding:12px 14px 16px; }
.dish-grid .region { font-family:'Montserrat',sans-serif; font-weight:800; font-size:18px; margin:0; }
.dish-grid .name { margin:2px 0 6px; color:var(--sub); }
.dish-grid .card-price { font-weight:600; margin:0; }

.more { margin-top:40px; border-top:1px solid var(--line); padding-top:8px; }
.more ul { padding-left:20px; }

.page-footer { background:var(--bg-alt); color:var(--sub); text-align:center; padding:24px 16px; font-size:14px; }
.page-footer a { color:var(--sub); }
