/* Shared booking layer for the sample sites: a docked "Book with <Name>" bar on phones (opaque, 72px plus
   the safe area, a 56px target, the page padded beneath it) in each world's own palette, the "Sample site"
   label, inline "Book" row labels and footer legal links. Each page sets the dock variables inline. */
.booking-dock{display:none}
@media(max-width:799px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .booking-dock{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;z-index:60;box-sizing:border-box;height:calc(72px + env(safe-area-inset-bottom,0px));padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:14px;background:var(--dock-bg,#111);color:var(--dock-fg,#fff);border-top:1px solid var(--dock-line,rgba(255,255,255,.12));font-family:var(--dock-font,system-ui,-apple-system,"Segoe UI",sans-serif);letter-spacing:0;text-transform:none;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
 .booking-dock p{flex:1;margin:0;font-size:12px;line-height:1.3;opacity:.88;font-weight:400;color:inherit}
 .booking-dock p small{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:3px;font-weight:600}
 .booking-dock a{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 22px;background:var(--dock-action-bg,#fff);color:var(--dock-action-fg,#111);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;border:0;border-radius:var(--dock-radius,0);margin:0;letter-spacing:0;text-transform:none;line-height:1}
 .booking-dock.is-off{transform:translateY(110%)}
}
@media(prefers-reduced-motion:reduce){.booking-dock{transition:none!important}}
.sample-site{display:inline-block;font:600 9px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;padding:5px 7px;opacity:.75;vertical-align:middle;white-space:nowrap}
.row-book{font:600 10px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-left:auto;padding-left:14px;white-space:nowrap;align-self:center}
.legal-links{display:inline-flex;gap:18px;align-items:center}
.legal-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
a.look-book,button.look-book{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;text-decoration:none;font-weight:600;font-size:13px;border:1px solid currentColor;background:var(--look-bg,transparent);color:var(--look-fg,#fff);letter-spacing:.02em}
