.publica-card {
  display: block; background: #fff; border: 1px solid #f1f5f9; border-radius: 20px;
  padding: 32px 28px; text-decoration: none; color: inherit;
  box-shadow: 0 20px 40px rgba(15,23,42,.08);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.publica-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(15,23,42,.14); border-color: rgba(220,38,38,.25); }

.publica-card-icono {
  width: 64px; height: 64px; border-radius: 16px; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.publica-card:hover .publica-card-icono { transform: scale(1.08) rotate(-4deg); }
.publica-card-icono-moto { background: linear-gradient(135deg, #fee2e2, #fecaca); color: #dc2626; }
.publica-card-icono-taller { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }

.publica-card-titulo { font-size: 1.2rem; font-weight: 800; color: #0f172a; margin-bottom: 8px; }
.publica-card-texto { font-size: .85rem; color: #6b7280; line-height: 1.55; margin-bottom: 20px; }

.publica-card-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .82rem; font-weight: 800; color: #dc2626;
}
.publica-card-flecha { transition: transform .25s ease; }
.publica-card:hover .publica-card-flecha { transform: translateX(4px); }
