* { box-sizing: border-box; }

body { margin: 0; }
a { color: inherit; text-underline-offset: 0.25em; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.booking-page {
  color-scheme: dark;
  background: #181311;
  color: #fff;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  font-family: Georgia, 'Times New Roman', serif;
  -webkit-text-size-adjust: 100%;
}

.booking-content {
  width: 100%;
  max-width: 36rem;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.back-link { margin-top: 1.5rem; display: inline-flex; align-items: center; min-height: 44px; font-size: 0.875rem; }
h1 { margin: 1.5rem 0 2rem; font-size: clamp(2rem, 6vw, 2.75rem); font-weight: 400; }
.hotel-name { margin: 0; font-size: 1.5rem; }
.hotel-location { margin: 0.5rem 0 1.75rem; font-size: 0.875rem; line-height: 1.6; }
.date-divider { padding-inline: 0.35em; }
.hotel-placeholder { margin: 0; font-size: 1.0625rem; line-height: 1.7; }

/* No cropped image, gesture handlers, or zoom limits: use native browser zoom. */
.poster-page { background: #100e0b; }
.poster-page main { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; }
.friday-poster { display: block; width: 100%; max-width: min(100vw, 150svh); height: auto; margin: 0 auto; }

.poster-back-link {
  position: fixed;
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  padding: 0.65rem 1rem;
  white-space: nowrap;
  color: #fff7e8;
  background: rgba(16, 14, 11, 0.85);
  border-radius: 3px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.875rem;
}
