/* Current menu & selected guest reviews — September 2026 */
[hidden] { display: none !important; }
.menu-tools { margin-bottom: 2rem; }
.menu-switch { display:flex; gap:.5rem; padding:.4rem; border:1px solid var(--color-border); border-radius:18px; background:var(--color-bg-alt); max-width:680px; margin:0 auto 1.75rem; }
.menu-switch button { flex:1; border:0; border-radius:12px; padding:1rem; background:transparent; color:var(--color-text-dim); cursor:pointer; font-family:inherit; font-size:1rem; font-weight:700; }
.menu-switch button[aria-pressed="true"] { background:var(--color-accent); color:#14151a; font-weight:800; }
.menu-search { display:block; max-width:680px; margin:0 auto 1.5rem; }
.menu-search span { display:block; font-size:.8rem; color:var(--color-text-dim); margin-bottom:.5rem; }
.menu-search input { width:100%; box-sizing:border-box; font:inherit; color:var(--color-text); background:var(--color-surface); border:1px solid #454959; border-radius:12px; padding:1rem; }
.menu-category-filters { display:flex; gap:.55rem; flex-wrap:wrap; justify-content:center; }
.menu-category-filters button { padding:.6rem .9rem; border-radius:30px; border:1px solid #454959; color:#cdd0da; background:transparent; cursor:pointer; font:inherit; font-size:.82rem; min-height:42px; }
.menu-category-filters button[aria-pressed="true"] { color:var(--color-accent); background:#f59e0b14; border-color:var(--color-accent); }
.menu-explorer button:focus-visible,.menu-search input:focus-visible,.dish-details summary:focus-visible { outline:3px solid var(--color-accent); outline-offset:4px; }
.menu-results { color:var(--color-text-dim); text-align:center; font-size:.8rem; margin:1rem 0 0; }
.menu-family-title { font-size:2rem; margin:2rem 0; }
.menu-dish-section { margin-bottom:2rem; }
.menu-dish-section > h3 { font-size:1.3rem; margin:0 0 1rem; padding-bottom:.75rem; border-bottom:1px solid var(--color-border); }
.dish-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; align-items:start; }
.dish-card { border-radius:16px; overflow:hidden; background:var(--color-surface); border:1px solid var(--color-border); }
.dish-photo { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; background:#242735; }
.dish-no-photo { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; color:var(--color-accent); letter-spacing:.1em; }
.dish-no-photo small { letter-spacing:0; color:var(--color-text-dim); font-size:.7rem; }
.dish-copy { padding:1rem; }
.dish-copy h4 { font-size:1rem; line-height:1.5; margin:0 0 .65rem; text-transform:capitalize; }
.dish-price { color:var(--color-accent); font-weight:800; font-size:1.05rem; }
.dish-member { color:#c6cbd4; font-size:.75rem; margin:.3rem 0 0; }
.dish-details { border-top:1px solid #ffffff14; margin-top:.85rem; padding-top:.6rem; }
.dish-details summary { color:var(--color-text-dim); font-size:.78rem; cursor:pointer; padding:.25rem 0; }
.dish-details p { font-size:.8rem; line-height:1.7; color:#c6cbd4; white-space:pre-line; margin:.65rem 0 0; overflow-wrap:anywhere; }
.menu-bottom { display:flex; align-items:center; gap:2rem; justify-content:space-between; padding:1.5rem 0 0; border-top:1px solid var(--color-border); }
.menu-bottom p { max-width:670px; font-size:.75rem; color:var(--color-text-dim); line-height:1.7; }
.menu-bottom a { flex-shrink:0; font-size:.85rem; }
.menu-empty { text-align:center; padding:3rem 1rem; color:var(--color-text-dim); }
.reviews-section { background:var(--color-bg-alt); }
.review-rating { display:flex; align-items:center; justify-content:center; gap:1.2rem; margin:-.5rem 0 2.5rem; }
.review-rating strong { font-size:2.8rem; line-height:1; }
.review-stars { color:var(--color-accent); letter-spacing:.2em; }
.review-rating small { display:block; color:var(--color-text-dim); font-size:.75rem; margin-top:.4rem; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.review-card { display:flex; flex-direction:column; margin:0; padding:1.75rem; background:var(--color-surface); border:1px solid var(--color-border); border-radius:18px; }
.review-card blockquote { margin:1.1rem 0 1.5rem; font-size:1rem; line-height:1.8; flex:1; }
.review-card figcaption { font-weight:700; font-size:.85rem; }
.review-card figcaption span { display:block; color:var(--color-text-dim); font-size:.7rem; font-weight:400; margin-top:.25rem; }
.review-footer { text-align:center; margin-top:2rem; }
.review-footer a { color:var(--color-accent); font-weight:700; text-underline-offset:5px; }
.review-footer p { font-size:.72rem; color:var(--color-text-dim); margin-top:.8rem; }
@media(max-width:1000px) { .dish-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .dish-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; } .dish-copy { padding:.8rem; } .dish-copy h4 { font-size:.88rem; } .menu-switch button { font-size:.85rem; padding:.9rem .6rem; } .menu-category-filters { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; padding:5px 2px 12px; } .menu-category-filters button { flex-shrink:0; } .menu-bottom { flex-direction:column; align-items:flex-start; gap:1rem; } .review-grid { grid-template-columns:1fr; } .review-card { padding:1.4rem; } }
