*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.55;-webkit-text-size-adjust:100%}
.wrap{max-width:980px;margin:0 auto;padding:0 20px 56px}

.site-head{text-align:center;padding:40px 0 4px}
.logo{display:block;margin:0 auto 12px;max-height:80px;max-width:60%}
.hotel{margin:0;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.tagline{margin:6px 0 0;color:var(--muted);font-size:.92rem}

.menu-title{text-align:center;padding:18px 0 6px}
h1{font-family:var(--head);font-weight:500;font-size:clamp(2rem,6vw,3.1rem);line-height:1.1;margin:0}
.subtitle{margin:10px auto 0;max-width:640px;color:var(--muted);font-style:italic}
.rule{width:64px;height:2px;border:0;background:var(--accent);margin:20px auto 0}

nav.sections{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin:26px -20px 0;padding:0 20px;overflow-x:auto;white-space:nowrap;text-align:center}
nav.sections a{display:inline-block;padding:14px 12px;color:var(--text);text-decoration:none;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
nav.sections a:hover{color:var(--accent)}

section.sec{padding-top:40px;scroll-margin-top:56px}
section.sec>h2{font-family:var(--head);font-weight:500;font-size:1.7rem;margin:0}
.sec-desc{margin:4px 0 0;color:var(--muted);font-style:italic}
.sec-line{height:1px;background:var(--line);margin:12px 0 4px;border:0;position:relative}
.sec-line::after{content:"";position:absolute;left:0;top:-1px;width:48px;height:3px;background:var(--accent)}

.items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:22px 52px;margin-top:22px}
.line{display:flex;align-items:baseline;gap:8px}
.name{margin:0;font-family:var(--head);font-size:1.1rem;font-weight:600}
.dots{flex:1;min-width:14px;border-bottom:1px dotted var(--muted);opacity:.55;transform:translateY(-4px)}
.price{white-space:nowrap;font-weight:600;color:var(--accent)}
.price small{font-weight:400;color:var(--muted);margin-left:4px}
.desc{margin:4px 0 0;color:var(--muted);font-size:.93rem}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.tag{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:1px 8px}
.item.soldout .name,.item.soldout .desc{opacity:.5}
.badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 7px;white-space:nowrap}

.legend{margin:40px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;text-align:center}
.legend span{margin:0 10px;white-space:nowrap}
.foot{margin:14px 0 0;text-align:center;color:var(--muted);font-size:.85rem}
.empty{text-align:center;color:var(--muted);padding:60px 0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:34px}
.cards a{display:block;border:1px solid var(--line);border-radius:12px;padding:26px 22px;text-decoration:none;color:var(--text);text-align:center;transition:.15s}
.cards a:hover{border-color:var(--accent);transform:translateY(-2px)}
.cards strong{display:block;font-family:var(--head);font-size:1.4rem;font-weight:500}
.cards span{display:block;margin-top:6px;color:var(--muted);font-size:.9rem}

body.embed{background:transparent}
body.embed .wrap{padding-bottom:24px}
body.embed nav.sections{background:var(--bg)}

@media print{
 nav.sections{display:none}
 body{background:#fff}
 section.sec{break-inside:avoid-page}
}
body.embed .site-head,body.embed h1{display:none}
body.embed .menu-title{padding-top:12px}
