StealThis .dev

Photography — Session Types

A gallery-dark grid of six photography session cards — wedding, portrait, family, product, event and real estate — each with a line icon, a short blurb, a from-price badge and a full-bleed image that reveals on hover. Cards lift on hover, respond to keyboard focus and open a compact detail panel with duration, deliverables and a booking action, all driven by lightweight vanilla JS.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A dark, image-first grid of session-type cards for a photography studio. Six offerings — Wedding, Portrait, Family, Product, Event and Real Estate — each pair a crisp SVG line icon with a one-line blurb, a thin uppercase category label and a “from $X” price badge. Fraunces display serif carries the headings while Inter handles the body, giving the layout an editorial, gallery feel against the near-black surfaces.

On hover or keyboard focus each card lifts, deepens its shadow and reveals a full-bleed session photograph behind a soft gradient scrim, so the imagery does the selling. Activating a card (click, Enter or Space) opens a compact detail panel summarising typical duration, deliverables and turnaround, plus a booking button that fires a toast confirmation — a realistic stand-in for a real enquiry flow.

Everything is self-contained vanilla JS: no frameworks, no build step. Controls are real buttons with visible focus rings and aria labelling, the grid collapses to a single column below 520px, and the interactions stay smooth with CSS transitions and a tiny toast helper.