Skip to content

Coffee Shop Homepage Template

Warm, light Bootstrap 6 coffee shop homepage with an arched photo hero, filterable menu chips, roasting stepper, reviews, location map, FAQ and an order-ahead dialog.

Live preview

Open in new tab

Code

A warm, light Bootstrap 6 coffee shop homepage for a fictional roaster, Wren Coffee House, with a filterable menu, story, reviews, location and an order-ahead dialog using the new Combobox.

How it works

The page lives in .wr-page, which pins data-bs-theme="light" and re-maps the Bootstrap 6 primary role (--bs-primary-bg, --bs-primary-contrast and friends) to forest green, so buttons, chips and the stepper follow the brand.

  • Strip and navbar: .wr-strip names the current roast. The navbar lg:navbar-expand uses a <dialog class="drawer drawer-start"> on small screens.
  • Hero: a serif headline, two calls to action, a .wr-facts list and .wr-hero-art, an arched Unsplash photo with a round pastry photo and an SVG "roasted in-house" sticker. The .wr-status badge is computed from WR_HOURS: "Open now", "Opens today at…" or "Closed now".
  • Menu: Bootstrap 6 chip theme-primary buttons with data-wr-filter hide or show .wr-item rows by their data-wr-cat, update aria-pressed and announce the count.
  • Story: text, a photo and a four-step stepper md:stepper-horizontal inside .contains-inline (vertical on phones, horizontal from 768px).
  • Reviews, location and FAQ: quote cards, a CSS-drawn map, hours where today's row gets .wr-today, and an exclusive <details name="wr-faq"> accordion.
  • Club signup: an input-group form; an invalid email gets .is-invalid, a valid one shows a spinner and a simulated request, then #wr-toast.
  • Order ahead: #wr-order is a <dialog class="dialog"> with a searchable Combobox (data-bs-name="drink" creates a hidden input), a btn-check size group, a pickup select and a name field. On submit the script reads FormData, closes the dialog and shows the pickup time in the toast.

Customization

  • Change --wr-forest and --wr-terracotta in .wr-page (style.css) and the matching --bs-primary-* overrides to rebrand.
  • Edit WR_HOURS in script.js and the data-wr-days rows of .wr-hours to set your opening times.
  • Add menu rows with a new data-wr-cat value and a matching chip with data-wr-filter.
  • Add drinks to the order dialog as menu-item buttons with data-bs-value.
  • Replace the simulated handlers in script.js with fetch() calls to your ordering system and newsletter provider.
  • Swap the photos; they come from Unsplash and should be replaced with your own café and drinks.
  • Remove .wr-strip or .wr-faq-section for a shorter page.

Accessibility

A skip link jumps to #wr-main. Filter chips use aria-pressed, the map is one labelled role="img", the toast uses role="status", and the drawer, dialog and accordion are native <dialog> and <details> elements with keyboard support. Focus outlines are visible and smooth scrolling is disabled under prefers-reduced-motion.

Bootstrap 6 notes

Built on Bootstrap 6.0.0-alpha.1 (alpha APIs can still change). Compared with Bootstrap 5: Offcanvas is now Drawer, Modal is Dialog, btn-solid theme-primary replaces btn-primary, toggle buttons put the input inside a label.btn-check, the accordion is native <details>, and Chips, Stepper and Combobox are new built-in components. The Combobox has no public reset method, so the chosen drink stays selected after an order. The script imports Dialog, Drawer and Toast from the bundle as an ES module.

Requirements

Add these to your page (already included in the download):

  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/css/bootstrap.min.css">
  • <script type="module" src="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/js/bootstrap.bundle.min.js"></script>
  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
  • <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=DM+Sans:wght@400;500;600;700&display=swap">

Built for Bootstrap 6.0.0-alpha.1. Bootstrap 6 ships as an ES module, so its script and this component's JavaScript load with type="module". Alpha releases can still change before the stable version.

Coffee Shop Homepage Template – Bootstrap 6 home pages component screenshot
Coffee Shop Homepage Template · Bootstrap 6 Home Pages

More Home Pages

Kindergarten Homepage Template – Bootstrap 6 home pages preview

Kindergarten Homepage Template

Playful Bootstrap 6 kindergarten homepage with a drawer navbar, photo collage hero, program tabs, daily rhythm stepper, teacher cards, parent reviews and a visit booking form.

University Homepage Template – Bootstrap 6 home pages preview

University Homepage Template

Classic Bootstrap 6 university homepage with a campus photo hero, visit datepicker, program finder tabs, news, upcoming events, student testimonials carousel and admissions form.

Online Course Homepage Template – Bootstrap 6 home pages preview

Online Course Homepage Template

Bootstrap 6 online course platform homepage with a topic combobox search, filterable course catalog, preview dialog, instructors, learner reviews, pricing switch and signup form.

Accounting Firm Homepage Template – Bootstrap 6 home pages preview

Accounting Firm Homepage Template

Bootstrap 6 accounting firm homepage template with a savings estimator, services grid, onboarding steps, client testimonials, FAQ and a consultation booking form with datepicker.

Law Firm Homepage Template – Bootstrap 6 home pages preview

Law Firm Homepage Template

Bootstrap 6 law firm homepage template with a drawer navbar, practice area tabs, case results, attorney profiles, client reviews, FAQ and a free consultation form.

Dental Clinic Homepage Template – Bootstrap 6 home pages preview

Dental Clinic Homepage Template

Warm Bootstrap 6 dental clinic homepage with pill navbar, arched photo hero, treatment tabs, before/after Range slider, team, membership plans, reviews carousel and inline-calendar booking.