Claves teóricas
Ideas de profe para aplicar desde hoy sin sobrecomplicar.
🏗️ Piensa en capas, no en parches
Si cada fix compite por especificidad, el proyecto se rompe por dentro. Revisa primero cascada y después aplica @layer para definir prioridades explícitas.
🧩 BEM no es moda, es contrato
BEM te obliga a nombrar intención (bloque, elemento, modificador) y evita selectores frágiles tipo .sidebar ul li a.active. Referencia oficial: getbem.com.
🧱 CSS Modules: aislamiento por defecto
Cuando el proyecto es de componentes (React/Astro), CSS Modules reduce colisiones de clase y facilita borrar código muerto sin miedo.
⚡ Utility-first bien planteado
Tailwind acelera, pero exige disciplina semántica en componentes y convenciones de composición. Si quieres reforzarlo, enlaza con la lección de Tailwind.
🛡️ El enemigo real: la especificidad
Arquitectura buena = especificidad predecible. Para selectores complejos, apóyate en :is(), :where(), :has(), :not() sin convertir cada regla en un puzzle.
📦 Estructura de carpetas que escala
Separa base, layout, components, utilities y themes. Tu yo futuro te lo va a agradecer cuando el CSS pase de 500 a 15.000 líneas.
🔍 Revisión técnica antes de merge
Checklist mínimo: ¿rompe móvil?, ¿subió especificidad?, ¿duplica reglas existentes?, ¿hay tokens repetidos?, ¿afecta accesibilidad?
🧭 Regla de oro de equipo
Primero consistencia, luego preferencia personal. Documenta el estándar y evita guerras de estilo en PRs.