/* Reliable photo + local plan first; WebGL is optional, never a loading gate. */
.booking-page .room-stage{height:auto;min-height:0;overflow:visible;padding:28px;display:block}.booking-page .stage-heading{position:static;margin-bottom:20px}.booking-page .booking-room-photo{margin:0 0 20px}.booking-room-photo img{display:block;width:100%;height:240px;object-fit:cover;border-radius:20px}.booking-room-photo figcaption{font-size:16px;line-height:1.5;margin-top:12px}.booking-help{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0}.booking-help button,.booking-help a{min-height:48px;font-size:16px}.booking-help a{display:inline-flex;align-items:center;text-decoration:underline}.booking-page #scene{position:relative;inset:auto;height:480px}.booking-page #fallback,.booking-page .room-stage.has-selection #fallback{position:static;inset:auto;overflow:visible;padding:0}.booking-page .table-card{position:sticky;bottom:16px;left:auto;right:auto;width:100%;margin-top:20px}.booking-page .booking-availability-note{position:static;margin:20px 0;font-size:14px;line-height:1.5;padding:14px}.booking-page .scene-tools{position:relative;inset:auto;margin:12px 0}.booking-page .plan-note,.booking-page .fine-print{font-size:14px;line-height:1.55}.booking-page #book-table{font-size:16px;min-height:48px}.booking-page #unmapped{position:static;padding:24px}.booking-page #fallback-tables button{min-height:110px;font-size:16px}.booking-page #scene-status{font-size:15px;line-height:1.5}.booking-page .plan-table{min-width:40px;min-height:40px;font-size:14px}
@media(max-width:700px){.booking-page .room-stage{padding:20px 16px}.booking-room-photo img{height:200px}.booking-help{display:grid;grid-template-columns:1fr}.booking-page #scene{height:380px}.booking-page .table-card{flex-wrap:wrap;bottom:8px}.booking-page #fallback-tables{grid-template-columns:repeat(2,minmax(0,1fr))}}

.scene-shell{position:relative}.scene-shell #table-labels{position:absolute;inset:0}.booking-help button:disabled{opacity:.7}


.booking-recovery{padding:16px;margin-top:18px;border:1px solid #736148;border-radius:16px;background:#2b261e;color:#eee2cf;font-size:15px;line-height:1.6}
.booking-recovery p{margin:0 0 12px}.booking-recovery .secondary{min-height:46px;font-size:15px;margin-top:12px;padding:12px 16px;color:#f3e4cd;background:#3b3227;border:1px solid #806b4f;border-radius:12px}.booking-recovery a{font-size:15px;color:#efd5ad;text-decoration:underline}
#booking-preview{max-height:42dvh;overflow:auto;overscroll-behavior:contain}
