:root { --green:#06281d; --green2:#0b3c2c; --gold:#c69a43; --cream:#f7f1e3; --ink:#1d241f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; }
.zh { display:block; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif; }
body.lang-en .zh { display:none !important; }
body.lang-zh .en { display:none !important; }
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:440px; padding:34px 20px 28px; color:white; text-align:center; background:linear-gradient(145deg,var(--green),var(--green2)); }
.hero-video { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(3,24,17,.44),rgba(3,24,17,.78)); }
.hero-content { position:relative; z-index:1; }
.hero img { width:150px; height:150px; object-fit:contain; filter:drop-shadow(0 6px 16px rgba(0,0,0,.52)); }
.hero p { margin:12px 0 4px; color:var(--gold); font-size:13px; font-weight:800; letter-spacing:.2em; }
.hero h1 { margin:0; font-family:Georgia,serif; font-size:clamp(36px,10vw,58px); line-height:1.08; }
.hero h1 .zh { margin-top:7px; font-family:"PingFang SC","Microsoft YaHei",sans-serif; font-size:.48em; }
.hero small { display:block; margin-top:9px; color:#efe5ca; font-size:16px; }
.hero small .zh { margin-top:5px; }
.language-label { margin-top:22px; color:#f4e7c7; font-size:16px; font-weight:800; }
.language-switch { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:10px; }
.language-switch button { min-width:112px; min-height:50px; padding:11px 18px; border:2px solid rgba(255,255,255,.55); border-radius:999px; color:#fff; background:rgba(255,255,255,.1); font-size:17px; font-weight:800; cursor:pointer; touch-action:manipulation; }
.language-switch button.active { border-color:var(--gold); color:var(--green); background:var(--gold); }
#categories #catalog-home { color:var(--green); background:var(--gold); box-shadow:0 3px 10px rgba(80,55,10,.18); }
#categories #catalog-home .zh { color:#173c30; }
#categories { position:sticky; z-index:5; top:0; display:flex; gap:8px; padding:12px; overflow-x:auto; background:rgba(247,241,227,.96); border-bottom:1px solid #d8caa8; backdrop-filter:blur(8px); }
#categories a { flex:none; padding:11px 15px; border-radius:999px; color:white; background:var(--green); font-size:15px; font-weight:700; text-decoration:none; }
#categories a .zh { margin-top:2px; color:#f0dfb7; font-size:12px; text-align:center; }
#menu { width:min(1180px,100%); margin:auto; padding:20px 14px 50px; }
.category { scroll-margin-top:76px; margin-bottom:34px; }
.category h2 { margin:14px 4px; color:var(--green); font-family:Georgia,serif; font-size:36px; border-bottom:2px solid var(--gold); padding-bottom:8px; }
.category h2 .zh { margin-top:4px; font-family:"PingFang SC","Microsoft YaHei",sans-serif; font-size:.55em; }
.category-subtitle { margin:-4px 4px 16px; padding:10px 14px; border-left:4px solid var(--gold); border-radius:0 10px 10px 0; color:var(--green); background:#efe4c9; font-size:17px; font-weight:800; line-height:1.4; }
.category-subtitle .zh { margin-top:3px; font-size:.9em; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#gold-24k .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.item { overflow:hidden; border:1px solid #ddcfad; border-radius:16px; background:#fffdf7; box-shadow:0 6px 18px rgba(30,38,32,.08); }
.item img,.placeholder { width:100%; aspect-ratio:4/3; object-fit:cover; background:#e5dec9; }
.photo-frame { width:100%; aspect-ratio:4/3; overflow:hidden; background:#e5dec9; }
.photo-frame img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.photo-frame.pumpkin-soup img { transform:scale(1.65); }
.photo-frame.caesar-salad img { transform:scale(1.4); }
@media (max-width:719px) { .photo-frame.pumpkin-soup img { transform:scale(1.3); } }
.catalog-drinks .grid { gap:10px; }
.catalog-drinks .item img,.catalog-drinks .placeholder { aspect-ratio:4/5; object-fit:cover; object-position:center; }
.catalog-drinks .copy { display:grid; gap:5px; padding:10px 12px 12px; }
.catalog-drinks .copy h3 { min-height:0; margin:0; }
.catalog-drinks .description { min-height:0; margin:0; }
.catalog-drinks .description:empty { display:none; }
.catalog-drinks .price-lines { gap:3px; margin-top:1px; }
.catalog-drinks .price-line { gap:5px; }
.placeholder { display:grid; place-items:center; color:#776f5e; font-size:15px; }
.copy { padding:14px; }
.copy h3 { min-height:48px; margin:0 0 8px; color:var(--green); font-family:Georgia,serif; font-size:21px; line-height:1.2; }
.copy h3 .zh { margin-top:5px; font-family:"PingFang SC","Microsoft YaHei",sans-serif; font-size:.75em; line-height:1.35; }
.description { min-height:48px; margin:0 0 10px; color:#6a6255; font-size:15px; line-height:1.5; }
.description .zh { margin-top:5px; color:#514b42; font-size:.92em; }
.price-lines { display:grid; gap:6px; margin-top:6px; }
.price-line { display:grid; grid-template-columns:auto 1fr auto; gap:7px; align-items:baseline; color:#725a2b; font-size:17px; line-height:1.35; }
.price-line strong { color:#9a6d18; font-size:24px; font-weight:900; white-space:nowrap; }
.price-line strong .zh { font-size:.65em; }
.price-detail .zh { margin-top:2px; font-size:.8em; }
.guide-card { overflow:hidden; border:1px solid #ddcfad; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(30,38,32,.1); }
.guide-card img { display:block; width:100%; max-height:980px; object-fit:contain; background:#242424; }
.guide-caption { padding:16px 18px; color:#665c4b; font-size:15px; line-height:1.5; text-align:center; }
.guide-caption .zh { margin-top:4px; }
.loading,.error { padding:70px 20px; text-align:center; }
footer { padding:24px 15px 40px; color:#e8dcc0; text-align:center; background:var(--green); font-size:15px; }
footer .zh { margin-top:5px; }
@media (max-width:540px) {
    .hero { min-height:410px; padding-top:28px; }
    .hero img { width:130px; height:130px; }
    #menu { padding-inline:12px; }
    .grid { grid-template-columns:1fr; gap:16px; }
    #gold-24k .grid { grid-template-columns:1fr; }
    .copy h3,.description { min-height:0; }
    .price-line { grid-template-columns:auto minmax(0,1fr) auto; }
    .guide-card img { max-height:none; }
}
@media (prefers-reduced-motion:reduce) { .hero-video { display:none; } }
@media (min-width:541px) and (max-width:1024px) {
    .language-label { font-size:19px; }
    .language-switch button { min-width:145px; min-height:56px; font-size:19px; }
}
@media (min-width:720px) { .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; } .copy { padding:18px; } .copy h3 { font-size:23px; } }
@media (min-width:1020px) { .grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
