/* Book a Table popup (shared by index.html and dine.html) */
.bt-open { margin-bottom: 12px; white-space: nowrap; text-align: center; padding-left: 12px; padding-right: 12px; }
.bt-close:focus:not(:focus-visible) { outline: none; }
.bt-close:focus-visible { outline: 2px solid var(--black); outline-offset: 2px; border-radius: 8px; }
.bt-dialog { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100% - 32px)); height: fit-content; max-height: calc(100% - 32px); overflow: auto; box-sizing: border-box; border: 1px solid var(--black); border-radius: 16px; padding: 44px 32px 32px; background: var(--white); color: var(--black); text-align: center; font-family: Helvetica, Arial, sans-serif; z-index: 10000; }
.bt-dialog:not([open]) { display: none; }
.bt-dialog::backdrop { background: rgba(0, 0, 0, .55); }
.bt-heading { font-size: 22px; line-height: 1.3; font-weight: 700; margin: 0 0 8px; }
.bt-text { font-size: 17px; line-height: 1.5; margin: 0 0 24px; }
.bt-text a { color: inherit; text-decoration: underline; white-space: nowrap; }
.bt-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.bt-btn { margin-top: 0; min-width: 140px; text-align: center; }
.bt-close { position: absolute; top: 8px; right: 12px; background: none; border: 0; font-size: 32px; line-height: 1; cursor: pointer; color: var(--black); padding: 4px 8px; }
html.bt-lock, html.bt-lock body { overflow: hidden; }
@media (max-width: 479px) { .bt-dialog { padding: 40px 20px 24px; } .bt-heading { font-size: 19px; } .bt-text { font-size: 16px; } }
