body {
  font-family: Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}

main {
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
  padding: 0 14px;
}

.restaurants {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.restaurant {
  padding: 20px;
  border-radius: 14px;
}

.restaurant h2 {
  font-size: 20px;
  line-height: 1.3;
}

button {
  min-height: 48px;
  font-size: 16px;
  touch-action: manipulation;
}

.restaurant button {
  width: 100%;
}

@media (min-width: 700px) {
  .restaurants {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1000px) {
  .restaurants {
    grid-template-columns: repeat(3, 1fr);
  }
}
#cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#202020;color:white;padding:18px;text-align:center;font-size:18px;font-weight:bold;box-shadow:0 -3px 12px #0003}#cart-bar[hidden]{display:none}body:has(#cart-bar:not([hidden])){padding-bottom:85px}
#cart-panel{position:fixed;z-index:1100;bottom:75px;left:10px;right:10px;max-width:500px;margin:auto;background:white;color:#222;padding:22px;border-radius:16px;box-shadow:0 0 30px #0005;max-height:70vh;overflow-y:auto}#cart-panel[hidden]{display:none}#cart-panel h2{margin-top:0}
