.dining-page { padding-top:3rem; padding-bottom:3rem; }
.dining-page header { max-width:52rem; }
.dining-intro { font-size:1.1rem; }
.dining-controls { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:2rem 0 1rem; }
.dining-controls label { display:grid; gap:.4rem; flex:1 1 15rem; min-width:0; }
.dining-controls select { padding:.75rem; border:1px solid var(--line); border-radius:.5rem; width:100%; max-width:100%; background-color:var(--white); font:inherit; color:inherit; }
.dining-controls select { padding-right:2.5rem; }
.dining-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.dining-card { border:1px solid var(--line); border-radius:1rem; padding:1.5rem; min-width:0; scroll-margin-top:9rem; }
.dining-card[hidden] { display:none; }
.dining-card h2 { font-size:1.2rem; }
.dining-name { padding:1rem 0 1.5rem; }
.dining-chinese { font-size:clamp(1.5rem,3vw,2.5rem); line-height:1.6; }
.dining-name .pronunciation-term { white-space:normal; }
.dining-actions,.dining-guides { display:flex; flex-wrap:wrap; gap:.75rem; }
.dining-guides { margin-top:2rem; }
@media (max-width:680px) { .dining-grid { grid-template-columns:1fr; } .dining-card { padding:1.1rem; } }
@media print { .dining-controls,.dining-actions,.dining-guides,#dining-results { display:none; } .dining-grid { display:block; } .dining-card { break-inside:avoid; margin-bottom:1rem; } }
