Esta flor todavía no ha brotado.
La página que buscas no está en nuestro escaparate. Prueba con el ramo de temporada, recién cortado esta mañana.
Ver ramos404 Fleuriste
Un vase en verre dont les fleurs éclosent au chargement ; à la tige vide pend une étiquette 404 en papier kraft.
Réglages
Code
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex" />
<title>404 · Page introuvable</title>
<style>
body { margin: 0; background: #000; }
.n4-florist {
--accent: #fb7185;
--k: 1;
position: fixed;
inset: 0;
z-index: 0;
overflow: hidden;
container-type: size;
display: grid;
place-items: center;
background: #000;
color: #f5f5f7;
font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",system-ui,sans-serif;
-webkit-font-smoothing: antialiased;
text-align: center;
line-height: 1.4;
}
.n4-florist *,.n4-florist *::before,.n4-florist *::after {
box-sizing: border-box;
}
.n4-florist .n4-copy {
position: relative;
z-index: 5;
display: flex;
flex-direction: column;
align-items: center;
gap: 1.6cqmin;
width: 100%;
max-width: 680px;
padding: 0 6cqw;
}
.n4-florist .n4-title {
margin: 0;
font-size: clamp(17px,4.2cqmin,36px);
font-weight: 600;
letter-spacing: -.02em;
line-height: 1.15;
text-wrap: balance;
}
.n4-florist .n4-sub {
margin: 0;
max-width: 34em;
font-size: clamp(13px,2.4cqmin,18px);
color: #a1a1a6;
text-wrap: balance;
}
.n4-florist .n4-tag {
font: 600 clamp(10px,1.9cqmin,13px)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;
letter-spacing: .16em;
text-transform: uppercase;
color: var(--accent);
}
.n4-florist .n4-cta {
margin-top: 1.8cqmin;
display: inline-flex;
align-items: center;
gap: .5em;
padding: .85em 1.5em;
border-radius: 999px;
background: #f5f5f7;
color: #000;
font-size: clamp(13px,2.2cqmin,16px);
font-weight: 600;
text-decoration: none;
transition: transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s cubic-bezier(.25,.1,.25,1);
}
.n4-florist .n4-cta:hover {
transform: translateY(-2px);
box-shadow: 0 12px 32px -10px var(--accent);
}
.n4-florist .n4-cta:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 3px;
}
.n4-florist .n4-stars,.n4-florist .n4-stars2 {
position: absolute;
inset: -4%;
pointer-events: none;
}
.n4-florist .n4-stars {
background-image: radial-gradient(1px 1px at 8% 12%,#fff 60%,transparent),radial-gradient(1px 1px at 22% 68%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 35% 24%,#fff 60%,transparent),radial-gradient(1px 1px at 48% 82%,#fff 60%,transparent),radial-gradient(1px 1px at 57% 9%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 66% 44%,#fff 60%,transparent),radial-gradient(1px 1px at 74% 72%,#fff 60%,transparent),radial-gradient(1px 1px at 86% 18%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 93% 58%,#fff 60%,transparent),radial-gradient(1px 1px at 14% 42%,#fff 60%,transparent),radial-gradient(1px 1px at 40% 55%,#fff 60%,transparent),radial-gradient(1px 1px at 81% 90%,#fff 60%,transparent),radial-gradient(1px 1px at 4% 88%,#fff 60%,transparent),radial-gradient(1px 1px at 62% 30%,#fff 60%,transparent);
opacity: .75;
animation: n4-florist-tw calc(5s / var(--k)) ease-in-out infinite alternate;
}
.n4-florist .n4-stars2 {
background-image: radial-gradient(2px 2px at 18% 30%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(1.5px 1.5px at 72% 20%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 30% 85%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(1.5px 1.5px at 88% 70%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 52% 60%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(1.5px 1.5px at 6% 55%,rgba(255,255,255,.8) 50%,transparent);
opacity: .55;
animation: n4-florist-tw calc(7s / var(--k)) ease-in-out infinite alternate-reverse;
}
.n4-florist [data-depth] {
transition: transform .9s cubic-bezier(.2,.7,.2,1);
}
@keyframes n4-florist-tw {
from {
opacity: .3;
}
}
@keyframes n4-florist-spin {
to {
transform: rotate(1turn);
}
}
@keyframes n4-florist-fade {
from {
opacity: 0;
transform: translateY(10px);
}
}
@media (prefers-reduced-motion:reduce) {
.n4-florist *,.n4-florist *::before,.n4-florist *::after {
animation: none!important;
transition: none!important;
}
}
.n4-florist {
background: radial-gradient(70% 60% at 50% 35%,#4a1d35,#1f0a17 75%);
color: #fff1f4;
font-family: "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
}
.n4-florist .n4-vase {
width: min(56cqmin,380px);
height: auto;
margin-bottom: 1cqmin;
overflow: visible;
}
.n4-florist .n4-flower {
transform: translate(var(--x),var(--y)) scale(0);
animation: n4-florist-bloom calc(1s / var(--k)) calc(var(--d) / var(--k)) cubic-bezier(.34,1.56,.64,1) forwards;
}
.n4-florist .n4-flower ellipse {
fill: var(--c);
opacity: .92;
}
.n4-florist .n4-core {
fill: #fde68a;
}
.n4-florist .n4-tagx {
transform-origin: 220px 74px;
animation: n4-florist-swing calc(3s / var(--k)) ease-in-out infinite alternate;
}
.n4-florist .n4-tagx text {
font: 700 10px ui-monospace,"SF Mono",Menlo,Consolas,monospace;
fill: #2a0f1f;
}
.n4-florist .n4-glass {
fill: rgba(186,230,253,.14);
stroke: rgba(255,255,255,.45);
stroke-width: 1.5;
}
.n4-florist .n4-petal {
animation: n4-florist-fall calc(7s / var(--k)) calc(2s / var(--k)) linear infinite;
opacity: 0;
}
.n4-florist .n4-title {
font-size: clamp(22px,5.4cqmin,46px);
font-weight: 500;
font-style: italic;
}
.n4-florist .n4-sub {
color: #e4b9c6;
}
.n4-florist .n4-tag {
font-family: inherit;
text-transform: none;
letter-spacing: .06em;
}
.n4-florist .n4-cta {
background: var(--accent);
color: #1f0a17;
}
@keyframes n4-florist-bloom {
to {
transform: translate(var(--x),var(--y)) scale(1);
}
}
@keyframes n4-florist-swing {
from {
rotate: -8deg;
}
to {
rotate: 8deg;
}
}
@keyframes n4-florist-fall {
0% {
opacity: 0;
transform: translate(84px,74px) rotate(0);
}
10% {
opacity: .9;
}
100% {
opacity: 0;
transform: translate(40px,270px) rotate(540deg);
}
}
@media (prefers-reduced-motion:reduce) {
.n4-florist .n4-flower {
transform: translate(var(--x),var(--y));
}
}
</style>
</head>
<body>
<main class="n4-florist">
<div class="n4-copy">
<svg class="n4-vase" viewBox="0 0 300 260" aria-hidden="true">
<g class="n4-stems" fill="none" stroke="#4d7c0f" stroke-width="3" stroke-linecap="round">
<path d="M150 190C140 140 100 110 82 70"/><path d="M150 190C150 130 150 90 150 46"/><path d="M150 190C160 140 200 110 220 74"/><path d="M150 190C145 150 120 130 112 112"/><path d="M150 190C158 150 186 130 196 124"/>
<path d="M120 120c-14-6-22 2-24 10 12 2 20-2 24-10z" fill="#65a30d" stroke="none"/><path d="M178 132c14-4 22 4 22 12-12 0-20-4-22-12z" fill="#65a30d" stroke="none"/>
</g>
<g class="n4-flower" style="--d:.2s;--c:#fb7185;--x:82px;--y:70px"><ellipse rx="9" ry="17" transform="rotate(0) translate(0 -13)"/><ellipse rx="9" ry="17" transform="rotate(60) translate(0 -13)"/><ellipse rx="9" ry="17" transform="rotate(120) translate(0 -13)"/><ellipse rx="9" ry="17" transform="rotate(180) translate(0 -13)"/><ellipse rx="9" ry="17" transform="rotate(240) translate(0 -13)"/><ellipse rx="9" ry="17" transform="rotate(300) translate(0 -13)"/><circle r="7" class="n4-core"/></g>
<g class="n4-flower" style="--d:.5s;--c:#fbbf24;--x:150px;--y:46px"><ellipse rx="7" ry="16" transform="rotate(0) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(45) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(90) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(135) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(180) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(225) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(270) translate(0 -13)"/><ellipse rx="7" ry="16" transform="rotate(315) translate(0 -13)"/><circle r="7" class="n4-core"/></g>
<g class="n4-flower" style="--d:.8s;--c:#c084fc;--x:112px;--y:112px"><ellipse rx="8" ry="13" transform="rotate(0) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(72) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(144) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(216) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(288) translate(0 -10)"/><circle r="5" class="n4-core"/></g>
<g class="n4-flower" style="--d:1.1s;--c:#fda4af;--x:196px;--y:124px"><ellipse rx="8" ry="13" transform="rotate(0) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(72) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(144) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(216) translate(0 -10)"/><ellipse rx="8" ry="13" transform="rotate(288) translate(0 -10)"/><circle r="5" class="n4-core"/></g>
<g class="n4-tagx"><path d="M220 74v16" stroke="#e7e5e4" stroke-width="1.2"/><rect x="203" y="90" width="34" height="22" rx="3" fill="#d6b88a"/><circle cx="220" cy="95" r="2" fill="#2a0f1f"/><text x="220" y="108" text-anchor="middle">404</text></g>
<path class="n4-glass" d="M118 180h64l-6 70c-1 6-5 8-10 8h-32c-5 0-9-2-10-8z"/>
<path d="M121 206h58" stroke="rgba(186,230,253,.5)" stroke-width="1.5"/>
<ellipse class="n4-petal" cx="0" cy="0" rx="4" ry="7" fill="#fb7185"/>
</svg>
<span class="n4-tag">Bouquet nº 404</span>
<h1 class="n4-title">Cette fleur n'a pas encore éclos.</h1>
<p class="n4-sub">La page que tu cherches n'est pas en vitrine. Essaie le bouquet de saison, coupé ce matin.</p>
<a class="n4-cta" href="/">Voir les bouquets</a>
</div>
</main>
</body>
</html>
Prompt pour l’IA
Collez-le dans ChatGPT, Claude ou Cursor : le bloc sera adapté à votre projet avec ces réglages, même sans React.
Plus dans 404
Voir tout : 404Où l’utiliser
Les fleuristes changent leur gamme à chaque saison, les pages de bouquets disparaissent donc souvent. Cette page d'erreur montre un vase en verre clair avec des tiges vertes. Au chargement, les fleurs s'ouvrent l'une après l'autre avec un rebond souple, un pétale tombe vers la table et, sur la seule tige sans fleur, pend une petite étiquette en papier kraft marquée 404.
Les titres en italique à empattements et le fond prune profond donnent un air de boutique. Les fleurs sont en SVG intégré avec des animations CSS, le texte reste lisible et traduisible, et en mouvement réduit le bouquet est déjà ouvert. Relie le bouton aux bouquets de saison.