.page-hero{padding:72px 0 64px;text-align:center;background:var(--color-surface)}.page-hero .wrap{max-width:760px}.page-hero h1{margin:0 0 16px;font-size:clamp(32px,4.5vw,48px);line-height:1.1;letter-spacing:-.02em;font-weight:700;color:var(--color-main)}.page-hero .lead{margin:0 auto;color:var(--color-muted);font-size:17px;line-height:1.8}.menu-section{padding:56px 0 80px}.menu-placeholder{margin:0;padding:20px;border:1px dashed var(--color-border);border-radius:14px;color:var(--color-muted);line-height:1.9;text-align:center}.menu-category-block{margin-bottom:42px}.menu-category-title{margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--color-border);color:var(--color-main);font-size:22px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.menu-card{display:block;padding:0;border:1px solid var(--color-border);border-radius:16px;background:var(--color-background);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.menu-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.menu-card-thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden}.menu-card-thumb img{width:100%;height:100%;object-fit:cover}.menu-card-body{padding:20px}.menu-soldout-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:var(--color-main);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}.menu-card.is-soldout,.menu-detail.is-soldout .menu-detail-figure{opacity:.62;filter:saturate(.7)}.menu-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.menu-tag{display:inline-flex;padding:2px 9px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:11px}.menu-season{display:inline-flex;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:var(--color-surface);color:var(--color-main);font-size:12px}.menu-name{margin:0 0 8px;color:var(--color-main);font-size:18px}.menu-desc,.menu-detail-lead,.menu-detail-desc,.menu-detail-category{color:var(--color-muted);line-height:1.9}.menu-desc{margin:0 0 12px}.menu-price,.menu-detail-price{margin:0;color:var(--color-accent);font-weight:700}.menu-detail{max-width:1040px;margin:0 auto;padding:28px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-background)}.menu-detail-category{margin:0 0 8px}.menu-detail-figure{position:relative;margin:0 0 22px}.menu-detail-image-main{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:14px}.menu-detail-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.menu-detail-thumb{width:96px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--color-border);display:block}.menu-gallery img{cursor:zoom-in}.menu-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.menu-badge{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500}.menu-badge-category{background:var(--color-surface);color:var(--color-main)}.menu-badge-soldout{background:var(--color-main);color:#fff;font-weight:700}.menu-badge-tag{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-muted)}.menu-spec{width:100%;margin:0 0 22px;border-collapse:collapse;font-size:15px}.menu-spec th,.menu-spec td{padding:10px 12px;border-bottom:1px solid var(--color-border);text-align:left}.menu-spec th{width:120px;color:var(--color-muted);font-weight:500}.menu-spec td{color:var(--color-text)}.menu-spicy-num{margin-left:6px;color:var(--color-muted);font-size:13px}.menu-allergens{margin:0 0 22px}.menu-allergens-title{margin:0 0 8px;color:var(--color-muted);font-size:13px;letter-spacing:.04em}.menu-allergens-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.menu-allergens-list li{display:inline-flex;padding:4px 11px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px}.menu-detail-price{font-size:22px;margin-bottom:16px}.menu-detail-lead{margin:0 0 22px;font-size:17px}.menu-detail-desc{margin-top:20px}.menu-back{margin-top:28px}.menu-back a{color:var(--color-main)}@media(max-width:640px){.page-hero{padding:40px 0 32px}.page-hero h1{font-size:27px}.menu-section{padding:38px 0 56px}}
