Référence visuelle
Le langage visuel de Rosa
Un système minimaliste et organique. Beaucoup d'air, des typographies en contraste, une palette botanique sage / rose poudrée / sable. Aucune ombre lourde, des bordures fines, et des composants pensés pour respirer comme un bouquet bien noué.
01 · Brand
Fondations
Minimalist & Organic
Atelier feutré, lumière de fin de matinée, papier kraft. Pas de "corporate cold" : on cherche la texture, le geste, le silence entre deux fleurs.
- ✕ Aesthétique SaaS / dashboard
- ✕ Glassmorphism appuyé
- ✕ Gradients néon, dégradés saturés
- ✕ Ombres marquées, élévations multiples
- ✕ Pills systématiques, radius > 8px
02 · Couleurs
Tokens chromatiques
Proposition d'aliases sémantiques (sage, rose, sand, paper, charcoal) en plus des tokens Material 3 actuels. L'objectif : un nommage lisible côté équipe sans casser l'existant — les anciens noms restent en alias.
primary / primary-container / primary-fixed / inverse-primary
★ Token de base — CTA primary, accents éditoriaux, état actif nav.
secondary / secondary-container / secondary-fixed
★ Token de base — étoiles avis, labels secondaires, étiquettes éditoriales.
tertiary-fixed / tertiary-container / tertiary
★ Token de base — fonds de section "univers", containers card mariages.
surface · surface-container-* · on-surface · outline
error / error-container
Réservé à l'état d'erreur de formulaire uniquement — jamais en accent décoratif.
03 · Typographie
Échelle & rythme
Poésie végétale
Notre signature
Des compositions singulières façonnées au rythme des saisons, pour célébrer le vivant dans votre quotidien.
Texte secondaire, légendes, contenus tertiaires de l'interface.
| Token | Famille | Taille / LH / Wt | Usage | Aperçu |
|---|---|---|---|---|
display-lg | Playfair | 48 / 1.1 / 400 | H1 desktop | Bouquets de saison |
display-lg-mobile | Playfair | 36 / 1.2 / 400 | H1 mobile | Bouquets de saison |
headline-md | Playfair | 32 / 1.3 / 400 | H2 section | Nos créations |
headline-sm | Playfair | 24 / 1.4 / 500 | H3 produit, citations | Le Rennais |
body-lg | Montserrat | 18 / 1.6 / 400 | Intro, hero subline | Au rythme des saisons. |
body-md | Montserrat | 16 / 1.6 / 400 | Corps de texte | Au rythme des saisons. |
label-md | Montserrat | 14 / 1.2 / 600 · UPPER | Boutons, labels, eyebrows | Voir la collection |
caption | Montserrat | 12 / 1.4 / 400 | Mentions légales, métadonnées | © 2026 Rosa Artisan Fleuriste |
04 · Espacement
Échelle 4 / 8 px
Base 4px, multiplicateurs en puissance de 2. Les sections respirent (sp-30 desktop) mais s'allègent en mobile (sp-16) — recommandation post-audit.
sp-1 · 4pxsp-2 · 8pxsp-3 · 12pxsp-4 · 16pxsp-6 · 24pxsp-8 · 32pxsp-12 · 48pxsp-16 · 64pxsp-20 · 80px mobilesp-24 · 96pxsp-30 · 120px desktopSection gap responsive — recommandation audit (C5)
section-gap: clamp(64px, 8vw, 120px)
margin-mobile: 16px · margin-desktop: 64px
gutter: 24px · container-max: 1200px
05 · Radius
Échelle "Soft-Modern"
Refonte post-audit (M5) : on consolide en 5 tokens. Tout ce qui n'est pas un status tag reste en 4px ou moins.
rs-none · 0
Hero images plein bord
rs-xs · 2px
Inputs, dividers
rs-sm · 4px ★
Boutons, cards, surfaces
rs-md · 6px
Modales, sheets
rs-pill
Chips, status tags uniquement
★ Token de base — par défaut, toute surface UI utilise rs-sm. Le radius asymétrique (top-left + top-right uniquement) reste autorisé sur les images "arche éditoriale" mentionnées dans le DESIGN.md.
06 · Élévation
"Ambient Whisper" — ombres murmurées
On reste fidèle à la philosophie du DESIGN.md : la profondeur naît des tonal layers, pas des ombres lourdes. 3 niveaux subtils + un anneau de focus.
shadow-none
Surface plate
shadow-whisper ★
Cards au repos
whisper-hover
Cards hover
whisper-deep
Modales / sheets
07 · Icônes
Fine-line · 1.5px stroke
SVG inline, jamais filled, hérite de currentColor. Les Material Symbols
des maquettes sont remplacées par cette set (déjà présente dans src/components/Icon.astro).
menuclosearrow-rightstarinstagrammailphonepinfloristcraftleafshareTailles standardisées : 16 · 20 · 24 · 32 px. Toujours associer un aria-label sur les icônes seules.
09 · Formulaires
Champs & états
Reconstruction visuelle du formulaire contact (recommandation M9 de l'audit) :
un vrai formulaire qui sérialise au submit dans un mailto:.
Zéro backend, identité visuelle préservée.
Ouvre votre app email avec un message pré-rempli.
10 · Chips & tags
Status-only · pill autorisé
Conformément au DESIGN.md, les pills sont strictement réservés aux étiquettes de statut éditoriales (catégorie, saison, type). Jamais en bouton.
11 · Cards
Compositions
4 patterns : produit (catalogue), catégorie (accueil), réalisation (mariages), étape (process).
Tous sans bordure visible, padding interne généreux, ombre whisper au repos.
Le Rennais
Fleurs de saison
Card produit · catalogue
Card catégorie · accueil
Château de la Bourdaisière
Rencontre & vision
Nous échangeons sur vos envies, votre lieu et l'atmosphère pour définir une palette unique.
13 · Patterns mobile
Drawer · CTA persistant · cards empilées
Recommandation principale (C1) : remplacer le menu mobile basique par un sheet plein écran avec backdrop blur, focus-trap, fermeture ESC + tap backdrop.
Poésie végétale & artisanat rennais
Des compositions au rythme des saisons.
Header mobile — CTA Instagram icône seule + bottom CTA persistant (optionnel).
Poésie végétale
Sheet plein écran — backdrop blur, focus-trap, ESC pour fermer, CTA contact intégré.
Le Rennais
Fleurs de saison
Douceur de Rose
Séchée & éternelle
Catalogue mobile — 1 colonne, espace généreux entre cartes, prix toujours visible.
xs320–479px — Mobile S — 1 col, sp-mobile = 16sm480–767px — Mobile L — 1 col, sp-mobile = 20md768–1023px — Tablet — 2 col, sp = 32, nav desktoplg1024–1279px — Desktop — 3 col, sp = 48xl≥ 1280px — Desktop large — container max 1200px centré, sp = 64
14 · Dividers floraux
Touche poétique réutilisable
Composant <FloralDivider /> proposé en 3 variantes pour ponctuer les
transitions de section sans alourdir.
15 · Accessibilité
Focus visible & contrastes
Toujours via :focus-visible (jamais :focus seul, sinon le clic affiche un ring).
Ring sage 3px à 30% d'opacité, offset 0 (pas d'outline).
- charcoal sur paper · 14.9:1 ✓
- charcoal-500 sur paper · 8.9:1 ✓
- sage-500 sur paper · 5.4:1 ✓
- rose-500 sur paper · 5.2:1 ✓
- charcoal-300 (outline) sur paper · 4.3:1 ⚠️ usage non-texte uniquement
Minimum 44×44 px en zone tactile pour tout élément interactif sur mobile (WCAG 2.5.5).
La taille MD des boutons (48px) couvre ce minimum, les icônes-boutons utilisent p-2 (16+24+16 = 56px).
16 · Motion
Easing & durées
Aucune animation gratuite. Easing personnalisée cubic-bezier(0.22, 1, 0.36, 1) (out-expo)
pour le reveal scroll, easing native ease pour les interactions micros.
Toujours respect de prefers-reduced-motion.
| Token | Durée | Easing | Usage |
|---|---|---|---|
motion-instant | 100ms | ease | State change input (border) |
motion-quick | 200ms | ease-out | Hover button, link color |
motion-base ★ | 240ms | ease | Hover background, focus ring |
motion-slow | 400ms | ease-out | Drawer / sheet open |
motion-poetic | 700ms | cubic-bezier(0.22, 1, 0.36, 1) | Image scale hover, reveal scroll |
Prochaine étape
Validation puis refonte itérative
Une fois ce design system validé, j'enchaîne sur la refonte composant par composant en partant des fondations (Button, Field, Card) puis des compositions (Nav, MobileSheet, Form, FloralDivider) — et enfin les pages, dans l'ordre Home → Catalogue → Mariages → Contact.
Tous les tokens proposés ici sont rétro-compatibles avec
tailwind.config.mjs existant : on ajoute des alias sans casser les noms M3 actuels.