Design system

Charte & UI kit — « L'atelier couture »

Direction artistique pour De fil en tissus : la boutique de tissus vécue comme un atelier de couturière chaleureux. Palette bâtie autour du terracotta et du brun du logo, typographie Playfair Display / Karla, coins doux, détails couture discrets en SVG inline. Chaque bloc ci-dessous précise son fichier CSS.

tokens.css

Palette

Terracotta en accent principal, brun profond pour le texte, orange clair en secondaire, crème en fond. Le jaune historique du site reste une touche rare, réservée aux aplats (jamais en texte fin).

Terracotta#EC7D4BAccent principal, CTA
Terracotta profond#B34F26Liens, texte sur terracotta
Orange clair#EF9362Accent secondaire
Brun#7A5B47Boutons secondaires, mercerie
Brun foncé#4A3526Titres
Encre#3A2A1ETexte courant (AA garanti)
Jaune (rare)#FFD707Aplats ponctuels uniquement
Crème#FBF7F2Fond principal
base.css

Typographie

Playfair Display pour les titres (élégance couture), Karla pour le texte courant (lisible, chaleureux).

h1

Le plaisir de coudre

h2

Nos tissus du moment

h3

Caractéristiques

lead

Un tweed dense au tombé structuré, parfait pour une veste cintrée.

body

Prix affiché au 10 cm pour choisir votre métrage au plus juste.

small

Laize 140 cm · Livraison sous 48h

tokens.css

Espacements

Échelle en px, du plus fin (séparation d'icône) au plus large (rythme entre sections).

--space-1 · 4px
--space-2 · 8px
--space-3 · 12px
--space-4 · 16px
--space-5 · 24px
--space-6 · 32px
--space-7 · 48px
--space-8 · 64px
--space-9 · 96px
button.css

Boutons

Primary = terracotta / texte brun foncé (contraste 4,9:1). Secondary = brun / texte blanc (contraste 6,1:1). Cible tactile ≥ 44px.

Variantes

États

Boutons icône (sélecteur de métrage)

form-field.css

Champs de formulaire

Utilisé pour votre code de réduction.
Merci de saisir une adresse e-mail valide.
badge.css

Badges de mode de vente

L'information n'est jamais portée par la couleur seule : chaque badge porte un libellé texte.

Au mètre Coupon Panneau Oeko-Tex Fat quarter Nouveauté Plus que 2 m en stock
swatch.css

Pastilles de couleur (nuancier / filtre)

Chaque pastille est doublée d'un label texte, jamais seule porteuse du sens.

stars-rating.css

Étoiles de notation

5,0/5 (grande taille)
4,6/5 (taille standard, carte tissu)
price-display.css

Affichage de prix

1,11 € / 10 cm soit 11,10 € le mètre — grande taille (fiche produit)
7,60 € prix fixe — carte tissu (coupon)
fabric-card.css · product-grid.css

Carte tissu

Photo lifestyle bord à bord, badge de mode de vente, prix double, note. Toute la carte est un lien unique.

metrage-selector.css · metrage-selector.js

Sélecteur de métrage

Composant métier clé : quantité en multiples de 10 cm, total recalculé en direct. Démonstration fonctionnelle ci-dessous (prix : 0,89 € / 10 cm, coton lin écossais).

Quantité (multiples de 10 cm)
1,00 m 100 cm
Total 8,90 €

Essayez les boutons + / − ou les raccourcis 0,5 m / 1 m / 2 m.

alert.css

Alertes

Inscription confirmée ! Votre code -10 % arrive dans votre boîte mail.

Ce tissu se vend au mètre : le sélecteur ci-dessus calcule votre total en direct.

Adresse e-mail invalide. Merci de vérifier votre saisie.

accordion.css · accordion.js

Accordéon

Utilisé pour les groupes de filtres et les blocs dépliables de la fiche produit. aria-expanded synchronisé en JS.

Nettoyage à sec conseillé, repassage à basse température sous linge.

Expédition sous 48h ouvrées, retour possible sous 30 jours pour un tissu non coupé.

characteristics-table.css

Tableau de caractéristiques

Composition, grammage et entretien donnés à titre d'exemple indicatif.
Laize140 cm
CompositionEnv. 60 % laine, 40 % polyester
Usages conseillésVeste, jupe structurée
breadcrumb.css · pagination.css

Liste des composants & fichiers

Un composant = un fichier CSS (et un fichier JS si besoin), déclinés par média via l'attribut media du <link>. Aucune media query dans les fichiers CSS.

ComposantFichier(s) CSSFichier JS
Design tokenstokens.css
Base / resetbase.css, .tablet, .desktop
En-têteheader.css, .desktopnav.js
Pied de pagefooter.css, .desktop
Fil d'Arianebreadcrumb.css
Boutonbutton.css
Badgebadge.css
Hero accueilhero.css, .desktop
Bandeau réassurancereassurance-bar.css, .desktop
Grille catégoriescategory-grid.css, .tablet, .desktop
Vignette catégoriecategory-tile.css
Carte tissufabric-card.css
Grille produitsproduct-grid.css, .tablet, .desktop
Affichage prixprice-display.css
Étoiles de notationstars-rating.css
Explication au mètre / couponsales-model-explainer.css, .desktop
Bandeau merceriemercerie-banner.css, .desktop
Formulaire d'opt-inoptin-form.css, .desktopoptin-form.js
Champ de formulaireform-field.css, .desktop
Alertealert.css
Filtres catégoriefilters.css, .desktopfilters.js
Barre de trisort-bar.css, .desktop
Pastille couleurswatch.css
Paginationpagination.css
Sélecteur de métragemetrage-selector.css, .desktopmetrage-selector.js
Galerie photogallery.cssgallery.js
Accordéonaccordion.cssaccordion.js
Tableau de caractéristiquescharacteristics-table.css
Encart conseilguidance-box.css
Avis clientreview-card.css
Liste de réassurancetrust-list.css
Séparateur point de couturestitch-divider.css