hotelery / reference

Style Guide

Every token, component and pattern available in hotelery — a luxury hotel & booking theme built on the theme-base foundation. This is the base pass: design system and layout only, no shortcodes yet — booking search, room listings and the rest are being added incrementally on top of these components.

FREE tier — no Pro features installed This theme ships with two Pro-boundary examples (footer style, custom CSS) that always fall back to their free default here — see the FREE / PRO BOUNDARY comment blocks in functions/functions.php and functions/theme-options.php for how a commercial fork would add the Pro-only fields and hook the matching filters.

Colors

CSS custom properties defined in :root. The accent is overridable via Theme Options → Accent color.

Surfaces & brand
Background
--htl-bg
Surface
--htl-surface
Card
--htl-card
Border
--htl-border
Accent (teal)
--htl-accent
Gold (decorative)
--htl-gold
Text / heading
--htl-text
Muted
--htl-muted
White
--htl-white
Semantic colors
Success
#1f8a7c
Warning
#d9932b
Danger
#e5484d
Info
#3b82c4

Typography

Display headings use --htl-font-display (Gilda Display, serif), body text and labels/overlines/badges use --htl-font-body (Jost). Configure display/body fonts in Theme Options.

Display & Headings

.htl-display-1

Comfort & Elegance

.htl-display-2

A stay to remember

.htl-h1

Component library, live

.htl-h2

Tokens drive every class

.htl-h3

Ready for new themes

Body & Labels

.htl-overline

Category / label text

.htl-lead

A larger intro paragraph used right under page and section titles.

.htl-body-lg

Slightly larger body copy for emphasis.

.htl-body-base

Default paragraph text used throughout the theme.

.htl-body-sm

Small print, timestamps, captions.

Text color utilities
.htl-text-primary .htl-text-success .htl-text-warning .htl-text-danger .htl-text-muted

Spacing & Grid

A max-width: 1240px container with native CSS Grid — no framework grid classes.

Container demo

.container — max-width: 1240px, auto margins

Auto grid (auto-fill, minmax 220px)

Column 1

Column 2

Column 3

Column 4

Icons

Inline SVG throughout — no icon font required for structural UI.

Common inline SVGs (currentColor)
Search
Menu
Close
Chevron
Calendar
Arrow up

Buttons

Base class .htl-btn with a clipped top-right corner. Add a variant + size modifier.

Variants
Outline (light) — for use over a dark photo background
Sizes & states

Badges

Small mono-uppercase labels. Use .htl-badge with a variant modifier.

Filled variants
New Available Pending Sold Draft
Outline variant
Featured Verified

Forms

Form elements use .htl-input, .htl-select, .htl-textarea with the .htl-form-group wrapper.

Input states
We'll never share your email.
This field is required.
Select, textarea & input group
Checkbox & radio

Cards

Soft-rounded, elevated cards — use .htl-card for general content, or --horizontal for a side-by-side layout.

Vertical card

Guide

Planning your stay

Everything you need to know before you book — check-in windows, amenities, cancellation policy.

Horizontal card

Reference

Theme options cheat sheet

Accent color, display/body fonts and header contact info — all editable from admin.

Room card — moonhotel's raised icon-strip motif, carried over ahead of the room-listing shortcode
$129 / night
2 Beds 4 Guests 32 m²

Deluxe Garden Room

Private balcony, garden view, king-size bed.

Alerts

Inline alerts, plus window.showAlert('alert-success', 'msg') for floating toasts.

Inline alerts
Changes saved successfully.
Some fields need your attention.
Something went wrong — please retry.
This is a heads up notice.
Toast (JS)

Avatars

Use .htl-avatar with a size modifier. Group with .htl-avatar-group.

Sizes
--sm
--md
--lg
--xl
Avatar group
User 1 User 2 User 3 User 4 User 5

Tables

Wrap with .htl-table-wrap for responsive overflow, use .htl-table on the <table>.

Example
ComponentClass prefixStatus
Buttons .htl-btn Stable
Cards .htl-card Stable
Forms .htl-input Review
Tables .htl-table Draft

Stats / KPI Cards

Use .htl-stat for metric display inside a grid.

KPI grid

Components

24

↑ +4

Pages built

9

↑ +2

Load time

0.8s

↑ -12%

Shortcodes

0

↓ —

Tags

Clickable pill tags. Use .htl-tag, add --active for the selected state.

Tooltips

CSS-only tooltips via data-tooltip="...". No JS required.

Hover to see
Design Server-rendered

Pagination

Rendered by partials/pagination.blade.php. Structure below.

Example

Section Header

Overline → title → lead. Use --center for centered layouts.

Left-aligned

What's inside

Everything a new theme needs

Layouts, partials, views and a full component library — no shortcodes required to ship a page.

Centered

Why slim

Fewer moving parts, faster iteration

Add shortcodes later, once the design language is proven on real pages.

Page Hero

Used on inner pages (blog, tag, category). Class .htl-page-hero.

Preview

Section

Blog & Guides

Photo Hero / CTA Banner

Full-bleed photo with a navy overlay (moonhotel's own rgba(0,8,52,.65)). Used hand-written on the homepage today via .htl-home-hero / .htl-cta-banner — a future home-banner shortcode should reuse these classes with an admin-editable background image.

Hero — .htl-home-hero

Welcome to Hotelery

Comfort & Elegance

CTA banner — .htl-cta-banner

Ready for your stay?

Rooms are ready when you are.

Book Now

Icon Feature Strip

moonhotel's hotel-about pattern — a centered heading over a row of icon+label amenity blocks. Class .htl-icon-strip.

Preview

Why stay with us

Everything you need

Breakfast
Transfer
Concierge

Breadcrumb

Rendered by partials/breadcrumb.blade.php.

Example

Empty State

Shown when a list has no results. Use .htl-empty-state.

No results

No results found

Try adjusting your search or filters.

Your experience on this site will be improved by allowing cookies Cookie Policy