--- name: button-styles description: Sistema de estilos de botones consistentes para iqEngi (Cards, CTAs, Formularios) --- # Sistema de Botones Consistentes - iqEngi Este skill define los estilos de botones estándar para mantener consistencia visual en todo el proyecto. ## Filosofía de Diseño - **Jerarquía Visual**: Primary para acciones principales, Outline para secundarias - **Consistencia**: Mismo hover, transiciones y tamaños base - **Accesibilidad**: Contraste AA garantizado con `text-white` sobre primary --- ## 🎨 Clases Base de Botones ### 1. Botón Primary (CTA Principal) Usar para: **Inscribirse, Comprar, Guardar, Enviar, Ver Detalles principal** ```html ``` ### 2. Botón Outline (Secundario) Usar para: **Ver Detalles, Cancelar, Opciones alternativas** ```html ``` ### 3. Botón Ghost (Terciario/Navegación) Usar para: **Enlaces de navegación, acciones de bajo énfasis** ```html ``` --- ## 📐 Reglas de Tamaño | Contexto | Tamaño Base | Altura | Border Radius | |----------|-------------|--------|---------------| | Cards (CourseCard, Cards) | Normal | `h-10 min-h-[40px]` | `rounded-xl` | | Hero / CTA sections | `btn-lg` | Auto | `rounded-full` | | Formularios | Normal | `h-10 min-h-[40px]` | `rounded-xl` | | Navbar | `btn-sm` o Normal | Auto | Default | --- ## 🎭 Estados de Hover (Obligatorios) Todos los botones deben incluir: ```css /* Para Primary */ hover:bg-[var(--color-btn-hover)] hover:border-[var(--color-btn-hover)] hover:shadow-lg hover:shadow-[var(--color-btn-hover)]/40 hover:scale-[1.03] /* o hover:scale-105 para btn-lg */ transition-all duration-300 /* Para Outline */ hover:!bg-[var(--color-btn-hover)] hover:!border-[var(--color-btn-hover)] hover:!text-white transition-all duration-300 ``` --- ## 📋 Plantillas Copiables ### Card con dos botones (CourseCard) ```tsx
Ver Detalles
``` ### Hero CTA (dos botones) ```tsx
Explorar Cursos Unirse a la Comunidad
``` ### Botón único en Card simple ```astro Ver Detalles ``` --- ## ⚠️ Antipatrones (NO HACER) ```html ``` --- ## 🔧 Variables CSS Relacionadas Definidas en `src/styles/global.css`: | Variable | Uso | |----------|-----| | `--color-primary` | Color base del btn-primary | | `--color-btn-hover` | Color hover (azul #2b7fff) | | `--color-surface-2` | Background hover para btn-ghost | --- ## Ejemplos de Archivos Correctos - `src/components/molecules/CourseCard.tsx` - Patrón de 2 botones en card - `src/components/home/Hero.tsx` - CTA principal con btn-lg - `src/components/sections/CoursesHero.astro` - Hero con botones primary + outline