.booking-page { min-height: 100vh; display: grid; place-items: center; padding: 28px 18px; background: var(--floral); }
.booking-shell { width: min(100%, 620px); text-align: center; }
.booking-logo-wrap { position: relative; width: min(480px, 86vw); margin: 0 auto 28px; overflow: hidden; }
.booking-logo { width: 100%; height: auto; }
.booking-shine { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.0) 35%, rgba(255,255,255,.72) 48%, rgba(255,255,255,.0) 62%, transparent 80%); transform: translateX(-120%); animation: logo-load 1.35s ease-in-out infinite; mix-blend-mode: screen; pointer-events: none; }
.booking-shell h1 { margin-bottom: 12px; font-size: clamp(34px, 6vw, 50px); }
.booking-shell p { max-width: 540px; margin: 0 auto 18px; color: #594A43; font-size: 18px; }
.booking-progress { width: min(310px, 76vw); height: 4px; margin: 26px auto 18px; overflow: hidden; border-radius: 999px; background: rgba(113,63,40,.13); }
.booking-progress span { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--cinnamon); transform-origin: left; animation: booking-progress 3s linear forwards; }
.booking-fallback { color: var(--bark); font-size: 14px; }
.booking-fallback a { font-weight: 700; text-underline-offset: 4px; }
@keyframes logo-load { 0% { transform: translateX(-120%); } 65%,100% { transform: translateX(120%); } }
@keyframes booking-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 760px) {
  .booking-page { padding: 22px 14px; }
  .booking-logo-wrap { margin-bottom: 18px; }
  .booking-shell p { font-size: 16px; }
  .booking-progress { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .booking-shine { animation: none; }
  .booking-progress span { animation: none; transform: scaleX(1); }
}
