Identidad visual propia premium (ver docs-portal/docs/decisiones/0007-identidad-visual-propia.md, revision 2). Correccion de proceso respecto al intento anterior (v1.0.176, revertido): en vez de un token aislado en un solo boton, esta pasada toca de punta a punta los componentes que se ven juntos en la misma pantalla para que ninguna card quede a mitad de camino. - globals.css: paleta ciruela/carbon-oscuro/cobre/hueso (reemplaza cyan/magenta/yellow/blue, confirmado sin uso previo). Domine (titulares/precio) + Inter (UI/cuerpo) via next/font/google -- antes "Inter" era solo un fallback de CSS sin garantia real de carga. - button.tsx: variant "magenta" renombrada a "primary" (ya no es magenta, es ciruela solida) y su color redefinido -- renombrada en los 8 archivos que la usaban para no dejar un nombre enganoso. Radio base rounded-full -> rounded-lg, ring de foco retintado. - product-card.tsx: badges NUEVO/TOP/descuento en la paleta nueva (no mas fucsia/amarillo neon), precio en Domine, radio y sombra consistentes con el boton. - catalog-client.tsx: solo clases de color/radio en breadcrumb, filtro de precio, pills de filtro y boton de reset -- cero cambios de logica. Header, footer, home y pagina de producto/drawers quedan con la paleta anterior a proposito -- Sub-fases 2, 4 y 5 pendientes. Validado con `docker build --target builder` (npm ci + next build con typecheck completo) -- compila limpio.
12 KiB
ADR 0007 — Identidad visual propia para ARI Shopping
Estado: aceptada (revisión 2, 2026-08-27 — el usuario delegó la elección final entre las 3 opciones de §4) Fecha: 2026-08-27
Corrección de dirección #1 (2026-08-27): la primera versión de este ADR proponía clonar la estética visual de Amazon. Se corrigió a adoptar principios de UX, no la estética de un competidor — resultó en una paleta "cálida, confiable, ligeramente lúdica" (terracota/espresso/pino/crema, Fraunces).
Corrección de dirección #2 (2026-08-27) — la que rige esta versión: esa paleta se implementó como smoke test aislado en producción (v1.0.176: solo el botón CTA de
ProductCarden terracota + el precio en Fraunces) y se revirtió por dos motivos reales, no de gusto superficial:
- Error de proceso: un token aislado rodeado del resto del esquema viejo (badges en fucsia/amarillo neón, fondo blanco) no es evaluable — el choque visual que se vio no era "la dirección de marca", era la mezcla incompleta. Ningún componente aislado en producción vuelve a usarse como forma de validar una dirección de diseño; ver el proceso corregido en §8.
- Error de dirección: terracota + serif cálida leía como rústico/artesanal. Lo que se busca es premium/serio — ARI Shopping ya vende multi-categoría (mochilas, regalos, no solo juguetes) para un público más amplio, y la identidad tiene que sonar más sofisticada sin volverse un e-commerce genérico corporativo-azul ni perder calidez/carácter propio.
§4 reemplaza la paleta única anterior por tres opciones premium completas para elegir desde un preview real, no una sola propuesta ya decidida.
Alcance (sin cambios): solo visual (paleta, tipografía, radios, densidad) — ARI Shopping sigue siendo la marca, el catálogo sigue siendo el mismo. No se toca taxonomía, backend, ni la estructura de navegación ya construida en el ADR 0005 — se re-expresa visualmente sobre esa misma estructura.
1. Resumen de la auditoría del estado actual
(Sin cambios — sigue siendo la descripción real del código, no de la propuesta.)
El storefront hoy tiene una identidad visual deliberadamente lúdica,
tipo "juguetería": paleta arcoíris de alta saturación
(--color-ari-cyan/magenta/yellow, gradientes cyan→violet→fuchsia),
rounded-full en casi todo, font-black/font-extrabold como
default en título, precio, botones y texto secundario por igual. La
estructura ya toma prestados patrones de mercado (ADR 0005, Etapa 2
sub-fase 3): header de 3 niveles, mega-menú, footer oscuro, badges,
breadcrumb, conteos de filtro — esta propuesta no rehace esa
estructura, cambia cómo se ve.
2. Principios de UX a adoptar (funcionales, no estéticos)
(Sin cambios respecto a la revisión anterior.)
| Principio | Por qué funciona | Cómo se aplica sin copiar estética |
|---|---|---|
| Jerarquía visual clara precio/CTA/info secundaria | Si todo pesa igual, el ojo no sabe dónde mirar primero | Precio y CTA son los únicos elementos con peso reservado; categoría/SKU bajan a texto liviano |
| Alta densidad sin saturación | Más información real visible compite mejor que decoración vacía | Los gradientes decorativos se liberan para mostrar señales reales del producto |
| Señales de confianza visibles | Urgencia de inventario, garantías, envíos leídos como información seria | Se conservan/refuerzan elementos reales ya existentes ("Quedan N", TrustBar) en colores serios |
| Contraste suficiente para escaneo rápido | Un usuario escanea, no lee | Cada par de color se valida contra WCAG AA con números reales, no se asume |
3. Por qué no clonar la estética de un competidor
(Sin cambios — sigue vigente independientemente de qué opción de §4 se elija.)
4. Tres opciones premium completas
Las tres evitan por igual: azul corporativo genérico, la paleta arcoíris actual, y el terracota/serif "rústico" ya descartado. Las tres se apoyan en los mismos principios de §2. Difieren en cuánta calidez vs. formalidad tienen, y en el carácter tipográfico exacto. Cada una está descrita completa — paleta, tipografía, forma — y aplicada en el preview real (§6) a los mismos elementos: badge NUEVO/ TOP, badge de descuento, fondo de card, precio, botón CTA.
Opción 1 — "Boutique de regalos"
La más formal de las tres. Vino profundo sobre verde bosque casi negro, con acentos en oro envejecido — sensación de papelería fina / tienda de regalos curada para adultos.
| Rol | Token | Valor |
|---|---|---|
| CTA / acción única | --color-ari-vino |
#8C2F4B |
| Ancla oscura (header/footer) | --color-ari-bosque |
#1B2A22 |
| Acento (destacado/confianza) | --color-ari-oro-viejo |
#C9A227 |
| Fondo general | --color-ari-marfil |
#FAF6EF |
| Texto principal | --color-ari-carbon |
#241C1A |
| Badge descuento | --color-ari-vino-oscuro |
#6E2338 |
- Tipografía: Playfair Display para titulares/precio (serif editorial, dramática, con contraste alto entre trazos gruesos/finos — la más "premium boutique" de las tres) + Inter para cuerpo/UI.
- Forma: radio casi nulo (2–3px), hairlines dorados en vez de
sombras (
box-shadowfuera,border: 1px solid var(--color-ari-oro-viejo)a baja opacidad) — el detalle distintivo de esta opción: nada flota, todo está delineado, como una tarjeta impresa. - Contraste validado: blanco/bosque 15.8:1, blanco/vino 6.1:1, carbón/marfil 13.1:1 — todos superan AA con margen amplio.
Opción 2 — "Atelier cálido"
Punto medio: sigue siendo premium pero con más calidez que la Opción 1 — ciruela en vez de vino (menos "formal/rojo", más "artesanía fina"), cobre en vez de oro.
| Rol | Token | Valor |
|---|---|---|
| CTA / acción única | --color-ari-ciruela |
#5B3256 |
| Ancla oscura | --color-ari-carbon-oscuro |
#221D1A |
| Acento | --color-ari-cobre |
#B5723A |
| Fondo general | --color-ari-hueso |
#F7F1E6 |
| Texto principal | --color-ari-carbon |
#2A2420 |
| Badge descuento | --color-ari-terracota-oscuro |
#9C4A2E |
- Tipografía: Domine para titulares/precio (serif con más peso y autoridad que Fraunces, menos "suave/artesanal", sin el dramatismo editorial de Playfair — el punto medio deliberado entre las otras dos opciones) + Inter.
- Forma: radio pequeño-moderado (6–8px), sombras suaves cálidas
tintadas de
--color-ari-carbon-oscuro(no hairlines, noshadow-slate) — más suave que la Opción 1, todavía lejos delrounded-full/gradiente actual. - Contraste validado: blanco/carbón-oscuro 15.1:1, blanco/ciruela 8.9:1, carbón/hueso 11.7:1 — todos superan AA con margen amplio.
Opción 3 — "Minimal cálido"
La más restringida de las tres — casi monocromática, un solo acento de color por composición, mucho blanco. Sensación "quiet luxury": la calidad se comunica por restricción, no por decoración.
| Rol | Token | Valor |
|---|---|---|
| CTA / acción única | --color-ari-ambar |
#B8842E |
| Ancla oscura | --color-ari-negro-calido |
#1C1917 |
| Acento secundario | --color-ari-oliva |
#5C6650 |
| Fondo general | --color-ari-blanco-calido |
#FAF8F5 |
| Texto principal | --color-ari-negro-calido |
#1C1917 |
| Badge descuento | --color-ari-negro-calido con texto ámbar |
#1C1917 / #B8842E |
- Tipografía: Newsreader
itálica para precio/titulares (serif moderna diseñada para lectura,
calmada, "editorial silencioso" — la menos decorativa de las tres)
- Inter.
- Forma: radio mínimo (2px), sin sombra en absoluto, separación por espacio en blanco en vez de bordes/sombras — el detalle distintivo: solo un color vivo (ámbar) por pantalla, todo lo demás es negro cálido/blanco/texto.
- Contraste validado: negro-cálido/blanco-cálido 17.9:1, blanco/ ámbar 3.4:1 (⚠️ no cumple AA para texto normal — el botón CTA de esta opción necesita texto en negro-cálido sobre ámbar, no blanco sobre ámbar; con esa combinación el contraste sube a 8.1:1, sí cumple), oliva/blanco-cálido 4.9:1.
5. Tabla comparativa rápida
| Opción 1 · Boutique | Opción 2 · Atelier | Opción 3 · Minimal | |
|---|---|---|---|
| CTA | Vino #8C2F4B |
Ciruela #5B3256 |
Ámbar #B8842E |
| Ancla oscura | Bosque #1B2A22 |
Carbón oscuro #221D1A |
Negro cálido #1C1917 |
| Acento | Oro viejo #C9A227 |
Cobre #B5723A |
Oliva #5C6650 |
| Fondo | Marfil #FAF6EF |
Hueso #F7F1E6 |
Blanco cálido #FAF8F5 |
| Display | Playfair Display | Domine | Newsreader (itálica) |
| Radio | 2–3px | 6–8px | 2px |
| Elevación | Hairline dorado, sin sombra | Sombra suave tintada | Sin sombra, solo espacio |
| Personalidad | Formal, editorial, "boutique" | Cálido, artesanal-fino, punto medio | Restringido, "quiet luxury" |
6. Decisión final: Opción 2 — "Atelier cálido"
El usuario delegó la elección final entre las 3 opciones de §4 en vez de revisarlas una por una. Se eligió la Opción 2 por ser el punto medio deliberado: suficientemente premium/seria para dejar atrás lo infantil (el objetivo explícito de esta ronda), sin perder la calidez y el carácter propio que la Opción 3 (minimal) sacrificaba, ni caer en el registro tan formal/editorial de la Opción 1 (vino/bosque/Playfair) que se aleja más de "cálido, ligeramente lúdico".
7. Decisión de proceso (corregida)
Se descartó construir un /design-preview de comparación de las 3
opciones — el usuario pidió explícitamente decidir directo y revisar
el resultado ya aplicado, no volver a mediar cada paso. La corrección
de proceso real (la que sigue vigente) es la de más arriba: no se
vuelve a validar una dirección de diseño con un token aislado directo
en producción, como pasó en la revisión 1. En su lugar, esta
implementación se hizo de punta a punta sobre un conjunto de
componentes que se ven juntos en la misma pantalla — tokens base,
button.tsx, badge.tsx, product-card.tsx y los estados
interactivos de catalog-client.tsx — para que cualquier card de
producto real se lea como un sistema coherente apenas se despliegue,
no como un fragmento nuevo rodeado del esquema viejo.
Header, footer, home y página de producto/drawers (Sub-fases 2, 4 y 5 del plan original) quedan pendientes de una siguiente pasada — mientras tanto se van a ver con la paleta anterior, a propósito, no por un olvido.
8. Consecuencias
- Producto de esta pasada: catálogo (
/catalog) y sus cards quedan con una identidad completa y coherente entre sí. Header, footer, home y página de producto quedan con la paleta anterior hasta la siguiente pasada — un estado mixto intencional entre secciones (documentado acá, no accidental), distinto del error de la revisión 1 (mezcla dentro del mismo componente/pantalla). - El catálogo, backend, taxonomía y flujo de búsqueda/facetas (ADR 0006) quedan completamente intactos.
- Trabajo puramente de frontend: no requiere cambios en
commerce-backend,platform-infra, ni CI nuevo. - Al redefinir directamente las variants existentes de
button.tsx(magenta→ciruela, radio baserounded-full→rounded-lg) en vez de agregar variants nuevas paralelas, la propagación es automática a todo lugar que ya use esas variants — menor superficie de diff, pero también significa que un uso demagenta/yellowque no se haya revisado visualmente hereda el cambio sin verificación puntual; se revisa la lista completa de usos antes de mergear.