html.book-site {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.book-site body {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 100%;
  position: relative;
}
.book-page,
.book-wrap,
.book-card,
.slot-times,
#book-form {
  overflow: visible;
  height: auto;
  max-height: none;
  position: relative;
}
.book-wrap { max-width: 720px; margin: 0 auto; }
.book-page {
  padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
}
#book-form {
  display: grid;
  gap: 16px;
  scroll-margin-top: 5.5rem;
  padding-bottom: 8px;
}
@media (min-width: 640px) {
  #book-form { grid-template-columns: 1fr 1fr; }
  #book-form h2,
  #book-form .book-span,
  #book-form .book-error,
  #book-form button[type="submit"] {
    grid-column: 1 / -1;
  }
}
.slot-days { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; touch-action: pan-x pan-y; }
.slot-day, .slot-time {
  border: 1px solid #e7e0d4;
  background: #fff;
  color: #1a2332;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.slot-day[aria-pressed="true"], .slot-time[aria-pressed="true"] {
  background: #e86f00;
  border-color: #e86f00;
  color: #fff;
}
.slot-time { border-radius: 12px; text-align: left; }
.slot-times { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 640px) {
  .slot-times { grid-template-columns: 1fr 1fr; }
}
.book-field { display: flex; flex-direction: column; gap: 6px; }
.book-field input {
  border: 1px solid #e7e0d4;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-size: 16px;
  color: #1a2332;
  background: #fff;
  scroll-margin-top: 6rem;
  scroll-margin-bottom: 30vh;
}
.book-field input:focus { outline: 2px solid color-mix(in oklab, #e86f00 45%, white); border-color: #e86f00; }
.book-error { color: #b42318; font-size: 14px; }
.book-ok { color: #1a7f4c; }
