// Brand assets — Chat Hotel + ELEVARE + RVS const ChatHotelMark = ({ size = 32, color = 'var(--brand)' }) => ( {/* Speech bubble + hotel */} {/* Hotel inside (negative space) */} ); const ChatHotelLogo = ({ size = 28, color = 'var(--fg)', mono = false }) => (
CHAT HOTEL
BY ELEVARE
); // Channel icons with glassmorphism + glow halos const ChannelIcon = ({ channel, size = 16, glow = false }) => { const icons = { whatsapp: , instagram: , messenger: , email: , web: , }; const colors = { whatsapp: '#25D366', instagram: '#E1306C', messenger: '#0084FF', email: '#D4B36A', web: '#5B8FB9', }; const gradients = { whatsapp: 'linear-gradient(135deg, #25D366, #128C7E)', instagram: 'linear-gradient(135deg, #F58529, #DD2A7B, #8134AF)', messenger: 'linear-gradient(135deg, #00B2FF, #006AFF)', email: 'linear-gradient(135deg, #E5C988, #D4B36A)', web: 'linear-gradient(135deg, #8AB4D6, #5B8FB9)', }; return ( {icons[channel]} ); }; const Icon = ({ name, size = 18 }) => { const stroked = ['arrow', 'check', 'bed', 'spa', 'fork', 'globe', 'chat', 'lock', 'clock', 'user', 'plus', 'star']; const paths = { spark: , arrow: , check: , play: , bed: , spa: , fork: , globe: , chat: , lock: , clock: , user: , plus: , star: , }; return ( {paths[name]} ); }; // Cinematic luxury lobby — improved with depth, light rays, atmospheric perspective const LobbyPlaceholder = ({ palette }) => ( {/* Atmospheric haze */} {/* Far back wall with arches */} {[0, 1, 2, 3, 4].map(i => { const x = 200 + i * 280; return ( ); })} {/* Light rays through arches */} {[0, 2, 4].map(i => { const x = 290 + i * 280; return ; })} {/* Foreground columns */} {/* Chandelier */} {[-140,-100,-60,-20,20,60,100,140].map(d => ( ))} {/* Reception desk silhouette */} {/* Marble floor with reflection */} {/* Reflected chandelier on floor */} {/* Floor lamps glow */} {/* Final vignette */} ); Object.assign(window, { ChatHotelMark, ChatHotelLogo, ChannelIcon, Icon, LobbyPlaceholder });