/* Vangvieng Thavikun Hotel — drinks menu (loaded after styles.css, only on drinks.html) */
/* ---------- Drinks menu ---------- */
.zh{font-family:'Songti SC','STSong','Noto Serif SC','Source Han Serif SC','SimSun',serif;font-weight:500;letter-spacing:.04em}
.mi-desc--zh,.menu-notes .zh,.menu-tabs .zh,.menu-num .zh,.mi-sub .zh{font-family:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;font-weight:400}
h2 .zh{font-size:.5em;color:var(--gold-deep);margin-left:.35em;vertical-align:.3em}
.menu-bar{position:sticky;top:64px;z-index:40;background:rgba(248,245,239,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.menu-tabs{display:flex;gap:8px;justify-content:flex-start;padding-block:12px;overflow-x:auto;scrollbar-width:none}
.menu-tabs::-webkit-scrollbar{display:none}
.menu-tabs a:first-child{margin-left:auto}.menu-tabs a:last-child{margin-right:auto}
.menu-tabs a{flex:none;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--line);border-radius:40px;background:var(--white);transition:all .3s;white-space:nowrap}
.menu-tabs a .zh{letter-spacing:.06em;color:var(--gold-deep);margin-left:4px;font-size:.95em}
.menu-tabs a:hover{border-color:var(--gold);color:var(--gold-deep)}
.menu-section{scroll-margin-top:120px}
.menu-section .section-head .lead .zh{font-size:.92em}
.menu-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:860px){.menu-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(min-width:1000px){.menu-grid--3{grid-template-columns:repeat(3,1fr)}}
.menu-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,4vw,40px);position:relative;overflow:hidden;transition:box-shadow .6s var(--ease-lux),border-color .6s}
.menu-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:56px;background:var(--gold);transition:width .8s var(--ease-lux)}
.menu-card:hover{box-shadow:var(--shadow-sm);border-color:var(--line-gold)}
.menu-card:hover::before{width:100%}
.band .menu-card{background:var(--cream)}
.menu-num{display:block;font-size:.66rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px}
.menu-num .zh{letter-spacing:.12em}
.menu-card h3{color:var(--navy);margin-bottom:22px}
.menu-card h3 .zh{font-size:.62em;color:var(--gold-deep);margin-left:.3em}
.mi-list{display:grid;gap:22px}
.mi-list--compact{gap:14px}
.mi-head{display:flex;align-items:baseline;gap:10px}
.mi-head h4{font-family:var(--serif);font-size:clamp(1.18rem,1.8vw,1.38rem);font-weight:600;color:var(--navy);line-height:1.25}
.mi-head h4 .zh{font-size:.72em;color:var(--gold-deep);margin-left:.25em;white-space:nowrap}
.mi-dots{flex:1;min-width:18px;border-bottom:1px dotted rgba(20,26,43,.28);transform:translateY(-5px)}
.mi-price{font-family:var(--sans);font-weight:500;font-size:.98rem;color:var(--navy);letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.mi-desc{font-size:.88rem;color:var(--ink-soft);line-height:1.6;margin-top:4px}
.mi-desc--zh{font-size:.82rem;color:var(--ink-faint);margin-top:2px}
.mi-note{font-size:.78rem;font-style:italic;color:var(--gold-deep);margin-top:6px}
.mi-note .zh{font-style:normal}
.mi-sub{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.mi-sub li{display:flex;align-items:baseline;gap:10px;font-size:.9rem;color:var(--ink)}
.menu-notes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;text-align:center;font-size:.84rem;color:var(--ink-soft)}
.menu-notes li{display:flex;align-items:center;gap:10px}
.menu-notes li::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
/* Beverage photos — cut-out bottle / glass, no frame (matches printed menu) */
.mi--photo{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center}
.mi-photo{height:84px;display:flex;align-items:flex-end;justify-content:center}
.mi-photo img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;transition:transform .8s var(--ease-lux);transform-origin:bottom center}
.mi-photo--group img{flex:1 1 0;min-width:0;width:0;max-width:none}
.mi-photo--group img+img{margin-left:-2px}
.mi--photo:hover .mi-photo img{transform:scale(1.05)}
.mi-list--compact .mi-photo{height:72px}
@media(max-width:480px){.mi--photo{grid-template-columns:58px minmax(0,1fr);gap:14px}.mi-photo{height:72px}.mi-list--compact .mi-photo{height:62px}}
@media(max-width:480px){.mi-head{flex-wrap:wrap}.mi-head h4{flex:1 1 auto}.mi-head .mi-dots{display:none}.mi-head .mi-price{margin-left:auto}}


/* Wine & Champagne — glass / bottle prices */
.wine-cols{display:flex;justify-content:flex-end;gap:0;margin:-6px 0 14px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:500}
.wine-cols>span{width:92px;text-align:right}
.mi-head--wine{align-items:flex-start}
.mi-head--wine h4{flex:1;min-width:0}
.wine-prices{display:flex;flex:none}
.wine-prices>span{width:92px;text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.wine-prices small{display:none}
.mi-price--na{color:var(--ink-faint);font-weight:400}
@media(max-width:480px){
  .wine-cols{display:none}
  .mi-head--wine{flex-wrap:wrap}
  .wine-prices{flex:1 1 100%;width:100%;flex-wrap:wrap;gap:2px 16px;margin-top:4px}
  .wine-prices>span{width:auto;flex-direction:row;align-items:baseline;gap:6px}
  .wine-prices small{display:inline;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
}

/* Perf: skip rendering work for menu sections until they approach the viewport */
.menu-section,.menu-notes-wrap{content-visibility:auto;contain-intrinsic-size:auto 1600px}
.menu-notes-wrap{contain-intrinsic-size:auto 160px}

/* ---------- Food menu (food.html) — dish cards with photos ---------- */
.dish-grid{display:grid;gap:14px;grid-template-columns:1fr}
.dish{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px 10px 10px;position:relative;overflow:hidden;transition:box-shadow .6s var(--ease-lux),border-color .6s}
.band .dish{background:var(--cream)}
.dish:hover{box-shadow:var(--shadow-sm);border-color:var(--line-gold)}
.dish-media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#ebe5da}
.dish-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-lux)}
.dish:hover .dish-media img{transform:scale(1.06)}
.dish-body{display:flex;flex-direction:column;min-width:0}
.dish-name{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--navy);line-height:1.25;overflow-wrap:anywhere}
.dish-zh,.ds-zh{font-family:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;font-size:.8rem;color:var(--gold-deep);letter-spacing:.06em;margin-top:3px}
.dish-price{margin-top:8px;font-family:var(--sans);color:var(--navy);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}
.dish-price b{font-weight:500;font-size:1.02rem;letter-spacing:.02em}
.dish-price small{font-size:.72rem;color:var(--ink-faint)}
.dish--daily{grid-template-columns:1fr;padding:0}
.dish--daily .dish-media{border-radius:0;aspect-ratio:16/9}
.dish--daily .dish-body{padding:16px 18px 18px}
.ds-lead{font-size:.8rem;font-style:italic;color:var(--ink-soft);margin-top:8px}
.ds-list{display:grid;margin-top:10px}
.ds-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:9px 0;border-bottom:1px dotted rgba(20,26,43,.22);font-size:.9rem;color:var(--ink)}
.ds-list li:last-child{border-bottom:0}
.ds-day{grid-column:1/-1;font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)}
.ds-zh{display:block;font-size:.76rem;margin:2px 0 0}
.ds-price{font-weight:500;color:var(--navy);font-variant-numeric:tabular-nums;align-self:end}
html[lang="zh-CN"] .xz{display:none}
@media(min-width:700px){
  .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .dish{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:0;align-items:stretch;gap:0}
  .dish-media{border-radius:0}
  .dish-body{padding:16px 20px 18px;flex:1}
  .dish-price{margin-top:auto;padding-top:12px}
  .dish-price b{font-size:1.08rem}
  .dish--daily{grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto}
  .dish--daily .dish-media{aspect-ratio:auto;min-height:100%}
  .dish--daily .dish-body{padding:24px 28px}
  .ds-list li{grid-template-columns:110px minmax(0,1fr) auto}
  .ds-day{grid-column:auto;align-self:center}
}
@media(min-width:1000px){.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-list{grid-template-columns:1fr 1fr;column-gap:32px}.ds-list li:nth-last-child(2):nth-child(odd){border-bottom:0}.ds-list li{grid-template-columns:minmax(0,1fr) auto}.ds-day{grid-column:1/-1}}
@media(min-width:1240px){.dish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ds-price small{font-size:.68rem;font-weight:400;color:var(--ink-faint)}
