The rooms of a place to stay as cards: each drawn by RoomArt on a colour block, with its name, how many it sleeps, its beds and its size, what it has (a terrace, a bath, a sea view), a sentence about it and its price from a night, the whole card a link to book it or to its page. The drawing's lamp comes on when the card is pointed at. Zero JavaScript.
Live demo
The rooms
Point at a room: its lamp comes on. Sample prices.
The rooms; art is RoomArt's kind, seed, time and block.
words
{ sleeps?; from?; per? }
Sleeps {n}, From {price}, a night
The card's words.
columns
2 | 3
3
Cards a row on a wide screen.
level
1 | 2 | 3
2
Heading level of the heading; each room is one below.
tone
'surface' | 'muted' | 'ink' | 'brand'
unset (paints nothing)
The section's ground.
density
'compact' | 'cozy' | 'roomy'
'cozy'
Block padding ×0.8 / ×1 / ×1.25 through --ma-density.
Theming and overrides
The section reads the theme contract (shadcn's variable names with the base tokens as fallback), so a pasted theme or one --ma-brand recolours it. Its class names are the override surface and stay stable; a named slot replaces the matching prop with your own markup.
A room drawn flat, for a stay that has no photograph of it yet: a single, a double, a twin, a suite, a family room, a bunk room or a loft, in the colours of the block or tone it sits on, with a shade, a light and a pale tone mixed from them.
The dates and the guests of a stay, handed to the place's own booking engine: a form that sends them to the engine's address as the parameters it reads (check-in, check-out, adults, children, and any fixed ones, such as the property's id), so a guest lands on the engine's page with the search filled in.
every browserclick
What it costs
Sample prices of a made-up practice.
Check-ups
Service
With insurance
Price
Check-upX-rays when they are due
Covered
$85
Hygiene clean
Partly covered
$95
Treatment
Service
With insurance
Price
White filling
Partly covered
From $140
Tooth whiteningTwo visits and trays to keep
Not covered
$390
Insurers we work with
Northwell Health
Brightcare
Albion Dental Plan
Ways to pay
Card
Bank transfer
Monthly plan
A price from is the least it costs: you have the full price in writing before any treatment.
What a practice charges, as tables a reader can trust: one a group, each row a service, its price and a note, and where insurance applies a column that says in words whether it is covered, partly or not, with a mark that repeats it in shape.