Turo

Turo's iOS app is Airbnb-for-cars, and like Airbnb, its design philosophy is that the photo is the product.

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

22tokens
10type steps
1radius steps
12pxspacing base

Turo, in one page

Turo's iOS app is Airbnb-for-cars, and like Airbnb, its design philosophy is that the photo is the product. Open any listing and the first thing you see is a full-bleed, edge-to-edge vehicle photo carousel — no card frame, no border, no chrome obscuring it. A 2023 Tesla Model 3 in a sunlit driveway, a Porsche 911 on a coastal road, a Jeep Wrangler at a trailhead: the imagery does the selling, and the entire UI is engineered to get out of its way. Turo is a peer-to-peer car-sharing marketplace — real people (hosts) listing their personal cars to real people (guests) — so trust signals (host profile, All-Star badge, trip count, response time, reviews) are woven through every screen with the same care a hotel app gives star ratings.

The brand is anchored by Turo Purple (#593BFB), a confident electric violet that is the single booking-action color — "Continue", "Book this car", the selected map pin, the active filter. It is Turo's "Spotify Green": when you see purple, it means *commit*. The counterweight is Turo Teal (#5CE0B8), a fresh mint that signals trust and value — the All-Star Host badge, savings callouts, "Free cancellation", instant-book lightning, the favorite heart. Purple drives the transaction; teal reassures you it's a good, safe one. Together they read as modern, optimistic, and a little premium — Turo is not a budget rental counter, it's a marketplace of interesting cars.

The signature interaction is the listing detail → booking flow: a tall photo hero with a paginated carousel, the car's year/make/model in heavy type, a star rating with trip count, a horizontal specs strip (fuel type, seats, transmission, doors), a prominent host card (avatar, name, All-Star badge, trips, response time), the trip dates/location, and — pinned to the bottom always — a sticky price + Book bar showing the daily rate and an estimated total with a single full-width purple CTA. The other signature surface is the map + photo-card search: results render as photo-led cards in a list that's twinned with a map of purple price pins, exactly like Airbnb's stays.

Typography is Turo's brand sans (a geometric humanist face) with Manrope as the open-source fallback for implementation — clean, slightly rounded, excellent at large display sizes for car names and prices. Hierarchy is photo-deferential: titles and prices are heavy (800), but body copy is calm and readable, never competing with the imagery. The dark theme (documented here as the primary catalog rendering) drops to a near-black #0F0F12 specifically so full-bleed photography reads with maximum punch — the canvas disappears and the cars glow.

Key Characteristics:

Do's and don'ts

Do

  • Make the car photo the hero — full-bleed, edge-to-edge, no card frame on the listing
  • Use Turo Purple (#593BFB) as the single booking-action color (Continue, Book, selected pin, active filter)
  • Use Turo Teal (#5CE0B8) for trust & value — All-Star Host, savings, free cancellation, instant book, favorite-saved
  • Pin a sticky price + Book bar to the bottom of the listing — it is the conversion anchor
  • Surface host trust on every listing: avatar, All-Star badge, trips, response time, reviews
  • Twin search results with a map of purple price pins (Airbnb-style)
  • Use a near-black canvas (#0F0F12) in dark mode so photography pops
  • Keep prices heavy (800) with tabular numerals so they never jitter
  • Use the pill-style active page dot as the carousel pagination affordance
  • Round cards and surfaces generously (10–14pt); float photo-hero controls as circular blurred buttons
  • Keep trust copy calm and clear — clarity conveys trust, not shouting

Don't

  • Don't put a card frame, border, or inset around the listing photo hero — it is full-bleed
  • Don't tint, dim, or color-block over car photos — scrims are only thin legibility gradients at top/bottom
  • Don't use teal for the main booking CTA — purple is the transaction; teal is the reassurance
  • Don't use purple for trust badges — All-Star and savings are teal
  • Don't let the Book bar scroll away — it is always pinned and always visible
  • Don't use a tinted gray for the dark canvas — near-black #0F0F12 keeps photos punchy
  • Don't use star gold (#FFB400) for anything but the rating star
  • Don't crowd the host card — trust signals need breathing room
  • Don't add a tab-bar pill/indicator — active is a purple tint only
  • Don't let prices jitter — always tabular lining numerals
  • Don't bury the daily rate — it lives in the persistent Book bar with the est. total link

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Turo design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Turo Purple: #593bfb
- Turo Teal: #5ce0b8
- Purple Bright: #7c5cff
- Purple Pressed: #4a2fd6
- Teal Deep: #1fb890
- Canvas: #ffffff
- Surface 1: #f6f5fa
- Surface 2: #ffffff
- Surface Pressed: #eceaf4
- Divider: #e6e4ef

Type:
- families: Brand Font, Manrope, Implementation Fallback, System Fallback Stack
- scale: 10, 12, 13, 14, 15, 16, 18, 23, 26
- weights: 400, 500, 600, 700, 800

Shape:
- radius: 12
- elevation: Pill, 500pt radius, soft shadow

Spacing: 12

Rules:
- Make the car photo the hero — full-bleed, edge-to-edge, no card frame on the listing
- Use Turo Purple (`#593BFB`) as the single booking-action color (Continue, Book, selected pin, active filter)
- Use Turo Teal (`#5CE0B8`) for trust & value — All-Star Host, savings, free cancellation, instant book, favorite-saved
- Pin a sticky price + Book bar to the bottom of the listing — it is the conversion anchor
- Surface host trust on every listing: avatar, All-Star badge, trips, response time, reviews
- Twin search results with a map of purple price pins (Airbnb-style)

Avoid:
- Don't put a card frame, border, or inset around the listing photo hero — it is full-bleed
- Don't tint, dim, or color-block over car photos — scrims are only thin legibility gradients at top/bottom
- Don't use teal for the main booking CTA — purple is the transaction; teal is the reassurance
- Don't use purple for trust badges — All-Star and savings are teal
- Don't let the Book bar scroll away — it is always pinned and always visible
- Don't use a tinted gray for the dark canvas — near-black `#0F0F12` keeps photos punchy

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary (Interactive)

  • Turo Purple (#593BFB): THE booking-action color — primary CTA fill ("Continue", "Book this car"), selected map pin, active filter chip, active tab. The brand-defining accent.
  • Purple Bright (#7C5CFF): Inline link / interactive text — lifts on the dark canvas for WCAG AA; also the lighter end of purple gradients.
  • Purple Pressed (#4A2FD6): Pressed state of the primary CTA.

Secondary / Trust

  • Turo Teal (#5CE0B8): Trust & value accent — All-Star Host badge, savings/discount callouts, "Free cancellation", instant-book lightning, favorite-saved heart, success.
  • Teal Deep (#1FB890): Teal text on light backgrounds, pressed teal, success-state contrast.

Canvas & Surfaces (Light Mode)

  • Canvas (#FFFFFF): Primary light canvas.
  • Surface 1 (#F6F5FA): Grouped backdrop behind cards, subtle elevated surfaces.
  • Surface 2 (#FFFFFF): Card and sheet fills (lifted with a soft shadow above Surface 1).
  • Surface Pressed (#ECEAF4): Pressed list rows.
  • Divider (#E6E4EF): Hairline dividers.

Canvas & Surfaces (Dark Mode)

  • Canvas (#0F0F12): Primary dark canvas — near-black so photography pops; NOT a tinted gray.
  • Dark Surface 1 (#1A1A1F): Card and sheet fills.
  • Dark Surface 2 (#25252C): Raised tiles, spec tiles, segmented controls.
  • Dark Divider (#2D2D35): Hairline dividers on dark.

Text

  • Text Primary Light (#15131F): Primary text on light — a deep ink, NOT pure black.
  • Text Secondary Light (#6B6878): Metadata, captions.
  • Text Tertiary Light (#9C99AB): Disabled, placeholder.
  • Text Primary Dark (#F2F1F6): Primary text on the near-black canvas.
  • Text Secondary Dark (#A4A2B3): Metadata on dark.
  • Text Tertiary Dark (#6F6D7E): Disabled / inactive on dark.
  • Text On Purple (#FFFFFF): Text on the purple CTA.
  • Text On Teal (#06231B): Text on teal fills — deep green-black for AA contrast.

Semantic

RoleLightDark
Success / Confirmed#1FB890#5CE0B8
Warning / Pending#E8920C#F4A93A
Error / Declined#E03A52#F5536B
Info#593BFB#7C5CFF
Star Rating#FFB400#FFB400
Savings / Discount#1FB890#5CE0B8
Price (primary)#15131F#F2F1F6

Semantic Notes

  • Purple is the transaction: there is one primary purple CTA per screen — the booking action. Filter/selected states also use purple, but the Book bar's button is the loudest purple on screen.
  • Teal is the reassurance: it never drives the main transaction; it confirms the choice is safe and good (All-Star, free cancellation, savings, success). It is also the favorite-saved heart.
  • Photos are sacred: imagery is never tinted, dimmed, or overlaid with brand color blocks — gradients on photos are only for legibility scrims at the very top/bottom.
  • Star gold is reserved: #FFB400 only for the rating star — never a CTA or decoration.
Type scaleRead the full spec

Font Family

  • Brand Font: Turo's brand sans (a geometric humanist face used across product and marketing) — clean, slightly rounded terminals, strong at large display sizes for car names and prices.
  • Implementation Fallback: Manrope (by Mikhail Sharanda, SIL OFL) — closest free geometric-humanist sans with a 200–800 range and tight, modern numerals; use for clones.
  • System Fallback Stack: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
  • Numerals: tabular lining figures for prices, totals, trip counts, and ratings so layout never shifts.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
DisplayManrope32pt8001.15-0.4pt"Find your drive", search hero
Price HeroManrope26pt8001.1-0.3pt"$83 / day" in the Book bar
Car TitleManrope23pt8001.2-0.3pt"Tesla Model 3 · 2023" on the listing
Section HeaderManrope18pt7001.3-0.1pt"Meet your host", "Trip details"
BodyManrope16pt4001.50ptDescription, policies, value props
Body EmphasisManrope16pt6001.50ptInline emphasis
Card TitleManrope15pt6001.350ptSearch-card car title, host name
Price (card)Manrope14pt8001.20pt"$214 / day" on a search card
MetaManrope14pt4001.40pt"214 trips · Joined 2019"
Eyebrow / BadgeManrope13pt7001.20.5pt"ALL-STAR HOST" — uppercase, tracked
CaptionManrope12pt5001.30pt"$249 est. total · 3 days"
ButtonManrope16pt8001.00.1ptPrimary/secondary button labels
Tab LabelManrope10pt6001.00.1ptBottom tab labels
Rating NumberManrope13pt7001.00pt"4.97" beside the star

Principles

  • Photo-deferential hierarchy: type is confident but never competes with the car photo — the image is always the loudest element above the fold; type leads once you scroll past the hero
  • Prices are heavy: daily rate, estimated total, and savings are 800 weight with tabular numerals so they read instantly and never jitter
  • Trust copy is calm: host details, policies, and reviews are 400–600 weight, readable, never shouty — trust is conveyed by clarity, not emphasis
  • Tracked uppercase badges: All-Star Host, Instant Book, and similar badges are 13pt 700 uppercase with +0.5pt tracking
  • Dynamic Type: titles, body, card titles, prices scale; tab labels, badge eyebrows, and the rating number stay fixed (layout-critical)
Components and layoutRead the full spec

Buttons

Primary Button (Continue / Book this car)

  • Shape: rounded rectangle, 10pt corner radius, full-width in the Book bar
  • Background: #593BFB (Turo Purple) — the booking-action color
  • Text: #FFFFFF Manrope 16pt weight 800
  • Height: 52pt (44pt in the compact Book bar)
  • Pressed: background #4A2FD6 + scale 0.98
  • Disabled: #593BFB at 40% opacity, text at 55%

Teal Button (Book instantly / accept)

  • Background: #5CE0B8 (Turo Teal)
  • Text: #06231B Manrope 16pt weight 800
  • Height: 52pt, 10pt corner radius
  • Used for instant-book and host-accept actions where teal's "trusted/fast" meaning applies

Ghost / Outline Button (Message host)

  • Background: transparent
  • Border: 1.5pt #7C5CFF
  • Text: #7C5CFF Manrope 14pt weight 700
  • Height: 44pt, 10pt corner radius
  • Pressed: background #7C5CFF at 8% opacity

Text Button (See all 32 photos)

  • Manrope 14pt weight 700, color #7C5CFF
  • No underline; pressed: 60% opacity

Photo Hero (the signature atom)

  • Full-bleed, edge-to-edge, ~260pt tall on the listing detail (no card frame, no inset)
  • Paginated carousel: page dots at the bottom-center; active dot is an 18pt-wide pill #FFFFFF, inactive 6pt rgba(255,255,255,0.45)
  • Top overlay controls: back, share, favorite — each a 38pt circular rgba(15,15,18,0.55) blurred button with white 2.2pt-stroke icon
  • Optional legibility scrim: a subtle top gradient only behind the status bar / controls — never over the car body
  • Favorite heart: outline white when unsaved, filled #5CE0B8 (Turo Teal) when saved

Specs Strip

  • A horizontal row of 3–4 compact tiles directly under the title
  • Each tile: 12pt corner radius, Surface 1 fill, 1pt divider border
  • Leading icon 18pt stroke #5CE0B8 (Turo Teal)
  • Value 13pt weight 700 primary ("Electric", "5 seats", "Auto"); label 10pt secondary ("Fuel", "Capacity", "Transmission")

Host Card (the trust atom)

  • Row card: 14pt corner radius, Surface 1, 1pt divider border, full-width
  • Leading 46pt circular avatar (photo or purple→teal gradient with initials)
  • Name 15pt weight 700 + inline All-Star badge
  • All-Star badge: pill, rgba(92,224,184,0.16) fill, #5CE0B8 text + leading star, 10pt weight 800 uppercase
  • Sub 12pt secondary: "214 trips · Joined 2019 · Responds in ~10 min"
  • Trailing chevron › tertiary — taps through to the full host profile

Sticky Price + Book Bar (the conversion atom)

  • Pinned to the bottom, always visible on the listing
  • Background: blurred rgba(15,15,18,0.96) panel (light: rgba(255,255,255,0.96)), 0.5pt top divider
  • Left: daily rate "$83" 20pt weight 800 + "/ day" 13pt secondary; below, "$249 est. total · 3 days" 11pt #5CE0B8 underlined (tap → price breakdown sheet)
  • Right: full-width-ish purple "Continue" CTA, 10pt radius, 14pt weight 800
  • This bar never scrolls away — it is the conversion anchor

Search / Listing Cards

  • Photo-led card, 14pt corner radius, Surface 2, 1pt divider border
  • Photo on top (~110pt), favorite heart top-right (white outline / teal filled)
  • Body: car title 13pt weight 700; rating row "4.99 (87) · 156 trips" 11pt secondary with a 11pt gold star; price "$214 / day" 14pt weight 800
  • Twinned with a map of price pins in the search experience

Map Price Pins

  • Pill, 500pt radius, soft shadow
  • Default: #593BFB (purple) fill, white text
  • Visited: Surface 2 fill, secondary text, 1pt divider border
  • Selected: #FFFFFF fill, #593BFB text — the inverse, drawing the eye to the focused car
Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptPhoto hero ~220pt; specs strip scrolls if 4 tiles; Book bar compact
iPhone 13/14/15390ptStandard layout; photo hero ~260pt
iPhone 15/16 Pro393ptDynamic Island accommodated; floating controls clear the island
iPhone 15/16 Pro Max430ptPhoto hero ~300pt; larger host avatar
iPad (portrait)768ptSearch 2-up: photo-card list + live map; listing content max ~640pt, hero full-bleed
iPad (landscape)1024pt+Persistent map + card grid; listing detail in a wide column with a side rail of host's other cars

Dynamic Type

  • Scales: display, car title, section headers, body, card titles, prices
  • Fixed (layout-critical): tab labels, badge eyebrows, rating number, page-dot region
  • Photo hero never scales (image-driven)

Orientation

  • iPhone: portrait-primary; photo hero supports landscape full-screen gallery view
  • iPad: full rotation; map/card split reflows; gallery viewer is full-screen swipeable

Touch Targets

  • Primary/Book CTA: 52pt (44pt compact)
  • Tab icons: 22pt glyph, 48pt+ hit area
  • Floating photo-hero controls: 38pt visible, 44pt hit
  • Search/host card: full-card tappable, ≥ 64pt
  • Map pins: 44pt minimum hit

Safe Area Handling

  • Top: floating photo-hero controls respect the Dynamic Island/notch
  • Bottom: the Book bar sits above the home indicator; content scrolls under both
  • Photo gallery viewer: full-bleed, swipe gestures respect safe-area edges

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-turo {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #0f0f12;
  --heading-color: #0f0f12;
  --link-color: #6c48ff;
  --link-hover-color: #4315ff;
  --border-color: #d4d4d4;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(15,15,18,0.06);
  --card-hover-shadow: 0 6px 18px rgba(15,15,18,0.12);
  --header-bg: #0f0f12;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #636365;
  --button-bg: #7c5cff;
  --button-text-color: #000000;
  --button-hover-bg: #5329ff;
  --button-border: none;
  --button-border-radius: 12px;
  --button-secondary-bg: #f1f1f1;
  --button-secondary-text-color: #0f0f12;
  --button-secondary-hover-bg: #e2e2e3;
  --button-secondary-border: 1px solid #d4d4d4;
  --prompt-bg: #f3f3f3;
  --prompt-text-color: #0f0f12;
  --base-font: var(--font-helvetica);
  --heading-font: var(--font-helvetica);
  --card-border-radius: 12px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/travel/turo/DESIGN.md · 26.2 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.